sql >> Database >  >> RDS >> Sqlserver

Is er een functie zoals isdate() voor datetime2?

In SQL Server 2012 kunt u TRY_CONVERT . gebruiken :

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

Resultaten:

2012-02-02 13:42:55.2323623    NULL

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

(Dezelfde resultaten.)

Sorry dat ik geen slim antwoord voor je heb voor

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

Maar dat voelt vies.

TRY_CONVERT documentatie over Microsoft Docs
TRY_PARSE documentatie over Microsoft Docs



  1. SQLAlchemy ORM gebruiken voor een niet-primaire sleutel, unieke, automatisch oplopende id

  2. De 8 meest populaire databases

  3. Oracle WHILE LOOP Voorbeeld

  4. Combineer geneste lus-query's met bovenliggend array-resultaat - pg-promise