Hvilket sprog programmerer du i? Istedet for at lave et datofelt i databasen så lav det som tekstfelt og styr formateringen af datoen fra din programkode. Du kan stadig lave forespørgsler der sorterer efter dato eller hvad du vil selvom at det er et tekstfelt..
Jeg kører med asp, men jeg kan ikke lave om på databasen, da den bruges af et andet (ikke-internet) program, som skal have dataen på en helt bestemt måde ellers går det ned.
At lave det om til et tekstfelt er et rigtigt dårligt råd. En væsentlig del af spørgsmålene angående datoer i databaser opstår fordi man har valgt at bruge tekstfelter. Og jeg har tit hjulpet med det, og lokket "frafaldne" til at bruge datofelter. Det er ikke svært.
axkris har vist fint styr på det, han bruger jo fx, DATEADD(). Med funktionerne DATEADD, DATEPART og DATEDIFF kan man lave alt hvad hjertet begærer.
En stor hurdle, som ofte gør at mindre rutinerede programmører vælger at benytte tekstfelter, er insert af datoer, men med SET DATEFORMAT dmy kommandoen er man ude over det; man fortæller databasen hvordan den skal fortolke det input der er på vej.
axkris > Du kunne også gøre det via ADO, det modsvarer lidt det man ofte kalder parametre
Fordelen ved det er at du har mulighed for at validere datoen inden du forsøger en insert, så du undgår en overflow fejl fra MSSQL. Hvis du fx kommer med 30. feb eller sådan noget.
DateSerial er rigtig fin:
arrDate = Split("2005-02-30", "-")
'Det følgende giver IKKE en fejl, men resulterer i datoen 2. marts 2005!! dtmDato = DateSerial(arrDate(0), arrDate(1), arrDate(2))
'Så jeg sammenligner med strengen: if Datepart("m", dtmDato) = Cint(arrDate(1) then bDatoValid = True else bDatoValid = False end if
Takker - men det fungerer jo perfekt. Dataen bliver netop dato-formateret DMY og lagt ned i et dato-felt. Årsagen var blot, at jeg havde glemt plingerne.
lyt lidt mere til ldanielsen, en dato er en dato ikke en string.
Du kan rende ind i en masse problemer hvis du flytter platform, eller ændre dine regionalle settings.
Blot et råd.
Synes godt om
Ny brugerNybegynder
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.