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

Er der en funktion som isdate() for datetime2?

I SQL Server 2012 kan du bruge TRY_CONVERT :

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

Resultater:

2012-02-02 13:42:55.2323623    NULL

Eller 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);

(Samme resultater.)

Beklager, at jeg ikke har et smart svar til dig for

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

Men det føles beskidt.

TRY_CONVERT dokumentation om Microsoft Docs
TRY_PARSE dokumentation om Microsoft Docs



  1. Brug Case Statement i Join

  2. MYSQL PHP Ingen database valgt - Kan ikke finde fejl

  3. Forståelse af SQL Server-sikkerhedsfunktionen HAS_Permis_BY_Name og dens USE-tilfælde

  4. aioMySQL forbinder ikke med python