Ongeldige datums verwerken

Tijdreeksanalyse in SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Foutveilige datumconversiefuncties

"Onveilige" functies

CAST()
CONVERT()
PARSE()

Veilige functies

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
Tijdreeksanalyse in SQL Server

Als alles goed gaat

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

Resultaten:

January8US August1FR
2019-01-08 2019-08-01
Tijdreeksanalyse in SQL Server

Als alles misgaat

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**

Fout bij het converteren van tekenreekswaarde '01/13/2019' naar gegevenstype date met cultuur 'fr-fr'.
Tijdreeksanalyse in SQL Server

Goed handelen als alles misgaat

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
Tijdreeksanalyse in SQL Server

De kosten van veiligheid

Veilige methoden zijn niet duurder dan onveilige.

Tijdreeksanalyse in SQL Server

De kosten van veiligheid

CAST()- en CONVERT()-functies draaien ongeveer even snel.

Tijdreeksanalyse in SQL Server

De kosten van veiligheid

PARSE()-functies zijn veel trager dan CAST() en CONVERT().

Tijdreeksanalyse in SQL Server

De kosten van veiligheid

Dit zijn metingen per seconde, dus ze schalen lineair.

Tijdreeksanalyse in SQL Server

Laten we oefenen!

Tijdreeksanalyse in SQL Server

Preparing Video For Download...