Gérer les dates invalides

Analyse de séries temporelles dans SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Fonctions de conversion de dates tolérantes aux erreurs

Fonctions « non sécurisées »

CAST()
CONVERT()
PARSE()

Fonctions sécurisées

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

Quand tout se passe 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 temporelles dans SQL Server

Quand tout se passe 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 temporelles 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 temporelles dans SQL Server

Le coût de la sécurité

Utiliser des méthodes sécurisées n'est pas plus coûteux que d'utiliser des méthodes non sécurisées.

Analyse de séries temporelles 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 temporelles dans SQL Server

Le coût de la sécurité

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

Analyse de séries temporelles dans SQL Server

Le coût de la sécurité

Ce sont des mesures par seconde : elles se mettent donc à l'échelle linéairement.

Analyse de séries temporelles dans SQL Server

Passons à la pratique !

Analyse de séries temporelles dans SQL Server

Preparing Video For Download...