Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché la mia espressione CASE non è deterministica?

Devi CONVERTIRE '20100101' con uno stile.

Quindi, prova questo:

...WHEN [Date] > CONVERT(datetime, '20100101', 112)....

L'analisi della data dalla stringa può essere inaffidabile come Ho risposto prima (per lo più nei commenti)

Modifica:

Non direi che è un bug, ma SQL Server chiede chiarimenti al 100%. yyyymmdd non è ISO e l'analisi di SQL Server yyyy-mm-dd non è affidabile (vedi il mio link di risposta)