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

Konvertering til datetime mislykkes kun på WHERE-klausulen?

Du ser ud til at antage en form for kortslutningsevaluering eller garanteret rækkefølge af prædikaterne i WHERE klausul. Dette er ikke garanteret. Når du har blandet datatyper i en sådan kolonne, er den eneste sikre måde at håndtere dem på med en CASE udtryk.

Brug (f.eks.)

CONVERT(DATETIME, 
      CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)

Ikke

CONVERT(DATETIME, pa.Attribute_Value)


  1. Hvordan ændres CHARACTER SET (og COLLATION) i hele en database?

  2. odoo12 database backup ingen ejer?

  3. Hvordan kan jeg se kommandostrengen, når jeg bruger MySqlCommand-parametre?

  4. SQL Server-datosammenligninger kun baseret på måned og år