sql >> Databáze >  >> RDS >> Sqlserver

Převod na datum a čas selže pouze u klauzule WHERE?

Zdá se, že předpokládáte nějaké vyhodnocení zkratu nebo zaručené řazení predikátů v WHERE doložka. To není zaručeno. Když máte v takovém sloupci smíšené datové typy, jediným bezpečným způsobem, jak s nimi naložit, je CASE výraz.

Použijte (např.)

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

Ne

CONVERT(DATETIME, pa.Attribute_Value)


  1. Připojení bez DSN k serveru mysql v ms-access si nepamatuje uživatelské jméno a heslo

  2. Použití row_to_json() s vnořenými spojeními

  3. Doporučené postupy protokolování auditu PostgreSQL

  4. Jak mohu zabít všechny relace připojující se k mé databázi Oracle?