Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Insira o varchar convertido no sql datetime


Se você precisar usar um formato de data baseado em string, escolha um que seja seguro e funciona em todas as instâncias do SQL Server, independentemente do formato de data, idioma e configurações regionais.

Esse formato é conhecido como ISO-8601 formato e é ou
YYYYMMDD      (note: **NO** dashes!)

ou
YYYY-MM-DDTHH:MM:SSS

para um DATETIME coluna.

Então, em vez de
Convert(datetime, '28/11/2012', 103)

você deveria usar
CAST('20121128' AS DATETIME)

e então você deve estar bem.

Se você estiver no SQL Server 2008 - você também pode usar DATE (em vez de DATETIME ) para casos em que você só precisa da data (sem parte do tempo). Isso seria ainda mais fácil do que usar DATETIME e ter a parte do tempo sempre sendo 00:00:00