sql >> Databasteknik >  >> RDS >> Sqlserver

Infoga konverterad varchar i datetime sql

Om du måste använda ett strängbaserat datumformat bör du välja ett som är säkert och fungerar i alla SQL Server-instanser, oavsett datumformat, språk och regionala inställningar.

Det formatet är känt som ISO-8601 format och det är antingen

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

eller

YYYY-MM-DDTHH:MM:SSS

för en DATETIME kolumn.

Så istället för

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

du bör använda

CAST('20121128' AS DATETIME)

och då borde du må bra.

Om du använder SQL Server 2008 - Du kan också titta på hur du använder DATE (istället för DATETIME ) för fall då du bara behöver datumet (ingen tidsdel). Det skulle vara ännu enklare än att använda DATETIME och att alltid ha tidsdelen 00:00:00



  1. Ändra MySQL-lagrade procedurens namn för 'Databas Collation'

  2. Uppdatera tabelluppsättningskolumnen lika med att välja var id matchar utanför frågan i Oracle

  3. JDBC ger MySQL datetime i UTC

  4. Laravel-pivottabell med flera kolumner som måste infogas senare