Gérer les dates non valides

Analyse de séries chronologiques dans SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Fonctions de conversion de dates à l'épreuve des erreurs

Fonctions « non sécuritaires »

CAST()
CONVERT()
PARSE()

Fonctions sécuritaires

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
Analyse de séries chronologiques dans SQL Server

Quand tout va bien

SELECT
    PARSE('01/08/2019' AS DATE USING 'en-us') AS January8US,
    PARSE('01/08/2019' AS DATE USING 'fr-fr') AS August1FR;
GO

Résultats :

January8US August1FR
2019-01-08 2019-08-01
Analyse de séries chronologiques dans SQL Server

Quand tout va mal

SELECT
    PARSE('01/13/2019' AS DATE USING 'en-us') AS January13US,
    PARSE('01/13/2019' AS DATE USING 'fr-fr') AS Smarch1FR;
GO
**Msg 9819, Level 16, State 1, Line 1**

Erreur lors de la conversion de la chaîne '01/13/2019' en type de données date avec la culture 'fr-fr'.
Analyse de séries chronologiques dans SQL Server

Bien faire quand tout va mal

SELECT
    TRY_PARSE('01/13/2019' AS DATE USING 'en-us') AS January13US,
    TRY_PARSE('01/13/2019' AS DATE USING 'fr-fr') AS Smarch1FR;
GO
January13US Smarch1FR
2019-01-13 NULL
Analyse de séries chronologiques dans SQL Server

Le coût de la sécurité

Utiliser des méthodes sécuritaires ne coûte pas plus cher que des méthodes non sécuritaires.

Analyse de séries chronologiques dans SQL Server

Le coût de la sécurité

Les fonctions CAST() et CONVERT() s'exécutent à peu près à la même vitesse.

Analyse de séries chronologiques dans SQL Server

Le coût de la sécurité

Les fonctions PARSE() sont beaucoup plus lentes que CAST() et CONVERT().

Analyse de séries chronologiques dans SQL Server

Le coût de la sécurité

Il s'agit de mesures par seconde ; elles se mettent donc à l'échelle linéairement.

Analyse de séries chronologiques dans SQL Server

Passons à la pratique !

Analyse de séries chronologiques dans SQL Server

Preparing Video For Download...