sql >> Databasteknik >  >> RDS >> Sqlserver

Varför är [datum] + ([tid] - [offset]) icke-deterministiskt i SQL Server 2008?

Din '1900-01-01' är icke-deterministisk eftersom det beror på språkinställningar. naturligtvis är detta otvetydigt för DMY eller MDY-inställningar, i allmänhet är det tvetydigt

Försök med '19000101' :SQL Server behandlar datum och tider något konstigt:"åååå-mm-dd" kan behandlas som "åååå-dd-mm" om du har brittiska inställningar trots att du är ISO i teorin

Redigera:använd detta för att ta bort datumaspekten:DATEADD(day, 0, DATEDIFF(day, 0, [time]))

Edit2:1 januari 1900 är noll i datum- och tidsformat, så du behöver inte subtrahera det. Kan du skicka exempeldata och utdata?



  1. PostgreSQL vs. Oracle:skillnad i kostnader, användarvänlighet och funktionalitet

  2. Importerar csv-fil med null-värden till phpmyadmin

  3. Antalet MySQL-kolumner stämmer inte överens med antalet värden, men antalet matchar INTE

  4. Mysql:Uppdateringsfält för senaste posten