Votre '1900-01-01'
est non déterministe car il dépend des paramètres de langue. bien sûr, c'est sans ambiguïté pour les paramètres DMY ou MDY, mais généralement c'est ambigu
Essayez '19000101'
: SQL Server traite les dates et les heures de manière quelque peu étrange :"aaaa-mm-jj" peut être traité comme "aaaa-jj-mm" si vous avez des paramètres britanniques bien qu'ils soient théoriquement ISO
Edit :utilisez ceci pour supprimer l'aspect de la date :DATEADD(day, 0, DATEDIFF(day, 0, [time]))
Edit2 :1er janvier 1900 est zéro dans les formats datetime, donc pas besoin de le soustraire. Pouvez-vous publier des exemples de données et de sortie, s'il vous plaît ?