sql >> Database >  >> RDS >> Sqlserver

Voeg geconverteerde varchar in datetime sql in

Als u een op tekenreeksen gebaseerde datumnotatie moet gebruiken, moet u er een kiezen die veilig is en werkt in elke SQL Server-instantie, ongeacht de datumnotatie, taal en landinstellingen.

Dat formaat staat bekend als ISO-8601 formaat en het is ofwel

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

of

YYYY-MM-DDTHH:MM:SSS

voor een DATETIME kolom.

Dus in plaats van

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

je zou moeten gebruiken

CAST('20121128' AS DATETIME)

en dan zou het goed moeten komen.

Als u SQL Server 2008 gebruikt - je zou ook kunnen kijken naar het gebruik van DATE (in plaats van DATETIME ) voor gevallen waarin u alleen de datum nodig heeft (geen tijdgedeelte). Dat zou nog eenvoudiger zijn dan DATETIME . te gebruiken en het tijdsgedeelte altijd 00:00:00 . hebben



  1. Het datumformaat vinden dat wordt gebruikt in de huidige sessie in SQL Server (T-SQL)

  2. mysqli, voorbereide instructies en INSERT-SELECT's

  3. Hoe kan ik ervoor zorgen dat emacs sql-mode het mysql-configuratiebestand (.my.cnf) gebruikt?

  4. MemSQL - Surrogaatsleutel als primaire en verschillende unieke sleutels tegelijkertijd bij het maken van tabellen