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

SQL Server ISDATE v indexovaném zobrazení

Mělo by to být, pokud vůbec:

SELECT ... 
    CASE 
         WHEN ISDATE(ColumnName) = 1 THEN CONVERT(datetime, ColumnName, 103) 
         ELSE NULL 
    END
....

ale nepoužíváte ISDATE WITH CONVERT, protože neexistuje žádný výraz jako

ISDATE(CONVERT(varchar,ColumnName,112)) 

bez vnořeného převodu je návratová hodnota závislá na věcech, jako je nastavení jazyka, a proto je to nedeterministické chování. Bez "externích" znalostí není možné předvídat výsledek, který člověk dostane, pouze na základě vstupu.



  1. fulltextové vyhledávání mysql nevrací očekávané výsledky

  2. Jak napsat kritéria hibernace pro tento dotaz SQL?

  3. Jak získat datum z řetězce v Oracle

  4. Kroky pro instalaci Mysql56 na linux