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

Existuje funkce jako isdate() pro datetime2?

V SQL Server 2012 můžete použít TRY_CONVERT :

SELECT TRY_CONVERT(DATETIME2, '2012-02-02 13:42:55.2323623'),
       TRY_CONVERT(DATETIME2, '2012-02-31 13:42:55.2323623');

Výsledky:

2012-02-02 13:42:55.2323623    NULL

Nebo TRY_PARSE :

SELECT TRY_PARSE('2012-02-02 13:42:55.2323623' AS DATETIME2),
       TRY_PARSE('2012-02-31 13:42:55.2323623' AS DATETIME2);

(Stejné výsledky.)

Omlouvám se, že pro vás nemám chytrou odpověď pro

SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23));

Ale je to špinavé.

TRY_CONVERT dokumentaci v Dokumentech Microsoft
TRY_PARSE dokumentaci v Dokumentech Microsoft



  1. Migrace webu WordPress – chybí ikony

  2. Shoda SQL na uspořádání písmen a čísel bez použití regulárních výrazů

  3. ORA-04061:Stávající stav těla balíčku PACKAGE.NAME byl zrušen a přetrvává

  4. Chci uložit pole objektů v MySQL v jednotlivých sloupcích pomocí Sequelize