Avatar billede nat Nybegynder
08. september 2005 - 09:08 Der er 5 kommentarer og
1 løsning

Lave felt om fra datetime til kun date

Hej Eksperter,

Jeg har en sql database hvor i der er blevet registreret en masse info, her i blandt også en dato i form af en "datetime", som f.eks. ser således ud: "29-05-2005 22:22:29".
Dette giver problemer når jeg vil foretage søgninger indefor bestemte datoer, da kl. også lige pludselig skal være eksakt. Er der er måde hvorpå man kan lave feltet om så der kun står datoen ("29-05-2005") uden man ødelægger dataene? Jeg skal ikke bruge klokkeslættet til noget.
Avatar billede arne_v Ekspert
08. september 2005 - 10:04 #1
Hvorfor sammenligner du ikke kun date delen af datetime når du tester ?

Det er nemt nok at konvertere en værdi fra DATETIME til DATE.

UPDATE tabel SET dfelt = CAST(dtfelt AS DATE);

Jeg ved dog ikke om man bare kan ændre felt typen for et felt i EM hvis der
er data i tabellen.
Avatar billede ldanielsen Nybegynder
08. september 2005 - 12:49 #2
Der findes ikke en datatype der hedder date, så det vil fejle.

Du kan ikke fjerne klokkeslettet, men du kan sætte det til kl. 0:00.00.000:

UPDATE tabel SET dfelt = CONVERT(CHAR(8), dfelt, 112)
Avatar billede arne_v Ekspert
08. september 2005 - 13:06 #3
¤%#¤!!!

du har helt ret - SQLServer har ikke DATE
Avatar billede arne_v Ekspert
08. september 2005 - 13:06 #4
sorry
Avatar billede ldanielsen Nybegynder
08. september 2005 - 14:30 #5
CONVERT(CHAR(8), dfelt, 112)

- giver fx 20050908 for i dag, og derfor indeholder den intet tidspunkt

Fidusen er at tage en omvej omkring et tekstformat, hvilken giver det ønskede resultat
Avatar billede nat Nybegynder
08. september 2005 - 16:59 #6
arne_v: Helt ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester