DateTime-värden ska infogas som om de är strängar omgivna av enkla citattecken:
'20100301'
SQL Server tillåter många accepterade datumformat och det borde vara så att de flesta utvecklingsbibliotek tillhandahåller en serie klasser eller funktioner för att infoga datumtidsvärden korrekt. Men om du gör det manuellt är det viktigt att särskilja datumformatet med DateFormat
och för att använda generaliserat format:
Set DateFormat MDY --indicates the general format is Month Day Year
Insert Table( DateTImeCol )
Values( '2011-03-12' )
Genom att ställa in datumformatet antar SQL Server nu att mitt format är YYYY-MM-DD
istället för YYYY-DD-MM
.
SQL Server känner också igen ett generiskt format som alltid tolkas på samma sätt:YYYYMMDD
t.ex. 20110312
.
Om du frågar hur du infogar aktuellt datum och tid med T-SQL rekommenderar jag att du använder nyckelordet CURRENT_TIMESTAMP
. Till exempel:
Insert Table( DateTimeCol )
Values( CURRENT_TIMESTAMP )