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

Por que [date] + ([time] - [offset]) não é determinístico no SQL Server 2008?


Seu '1900-01-01' é não determinístico porque depende das configurações de idioma. claro, isso não é ambíguo para configurações DMY ou MDY, mas geralmente é ambíguo

Tente '19000101' :SQL Server trata datas e horas de forma um tanto estranha:"aaaa-mm-dd" pode ser tratado como "aaaa-dd-mm" se você tiver configurações britânicas apesar de ser ISO em teoria

Editar:use isso para remover o aspecto de data:DATEADD(day, 0, DATEDIFF(day, 0, [time]))

Edit2:1º de janeiro de 1900 é zero nos formatos de data e hora, portanto, não há necessidade de subtraí-lo. Você pode postar dados de amostra e saída, por favor?