Váš '1900-01-01'
je nedeterministický, protože závisí na nastavení jazyka. samozřejmě, to je jednoznačné pro nastavení DMY nebo MDY, obecně je to nejednoznačné
Zkuste '19000101'
:SQL Server zachází s daty a časy poněkud zvláštně:"yyyy-mm-dd" lze považovat za "yyyy-dd-mm", pokud máte britské nastavení, přestože jste teoreticky ISO
Upravit:použijte k odstranění aspektu data:DATEADD(day, 0, DATEDIFF(day, 0, [time]))
Edit2:1. leden 1900 je ve formátech data a času nula, takže jej není třeba odečítat. Můžete prosím zveřejnit ukázková data a výstup?