sql >> Database teknologi >  >> RDS >> Sqlserver

Indsæt konverteret varchar i datetime sql

Hvis du skal bruge et strengbaseret datoformat, bør du vælge et, der er sikkert og fungerer i alle SQL Server-forekomster, uanset datoformat, sprog og regionale indstillinger.

Det format er kendt som ISO-8601 format, og det er enten

YYYYMMDD      (note: **NO** dashes!)

eller

YYYY-MM-DDTHH:MM:SSS

for en DATETIME kolonne.

Så i stedet for

Convert(datetime, '28/11/2012', 103)

du skal bruge

CAST('20121128' AS DATETIME)

og så burde du have det godt.

Hvis du er på SQL Server 2008 - du kan også overveje at bruge DATE (i stedet for DATETIME ) til tilfælde, hvor du kun har brug for datoen (ingen tidsdel). Det ville være endnu nemmere end at bruge DATETIME og at tidsdelen altid skal være 00:00:00



  1. Hvordan hentes resultatet af Oracle-databasefunktionen via ODBC?

  2. Er der en måde at få den første og sidste hverdag i en måned?

  3. Hvordan indstiller jeg i en Rails-migrering standardværdien for en kolonne til at være NOW() i stedet for det tidspunkt, hvor jeg kørte migreringen?

  4. MySQL db spørgsmålstegn i stedet for hebraiske tegn..?