あなたの '1900-01-01'
言語設定に依存するため、非決定論的です。もちろん、これは DMY または MDY 設定ビットについては明確です。一般的にはあいまいです
'19000101'
を試してください :SQL Server は日付と時刻をやや奇妙に扱います:理論上は ISO ですが、英国の設定を使用している場合、"yyyy-mm-dd" は "yyyy-dd-mm" として扱われます
編集:これを使用して日付の側面を削除します:DATEADD(day, 0, DATEDIFF(day, 0, [time]))
Edit2:1900 年 1 月 1 日は日時形式ではゼロなので、減算する必要はありません。サンプルデータを投稿して出力していただけますか?