Just nu i M3-nätverket
Gå till innehåll

datum i SQL Server


.sun

Rekommendera Poster

Jag har ett antal datumfält i en tabell, som är av typen datetime. Några av dem får inte vara NULL, medan andra får det. När jag via formulär på ASP-sida lägger till eller uppdaterar en post i tabellen så får de datumfält som jag lämnat blanka i formuläret datumet 1900-01-01 fast jag tillåtit NULL-värden. Que?

 

Exempelkod:

 

INSERT INTO TABELL (datum) VALUES ('')

 

ger datum värdet '1900-01-01'.

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Om du skickar '' till datum-fältet görs en automatisk Cast till datetime-typ. Tom sträng omvandlas till det första datum SQL Server känner till, vilket är 1900-01-01

 

Istället bör du göra:

INSERT INTO TABELL (datum) VALUES(Null)

 

 

Länk till kommentar
Dela på andra webbplatser

Lasse Edsvik

Magnus26,

 

det beror på att det lägsta värdet för datetime är just det datumet. MEN, inserta inte tomt, sätt NULL istället, dvs inget alls, och inte tomt, det är skillnad på tomt och NULL

 

/molgan

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...