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?