Hantera ogiltiga datum

Tidsserieanalys i SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Felhanteringssäkra datumkonverteringsfunktioner

"Osäkra" funktioner

CAST()
CONVERT()
PARSE()

Säkra funktioner

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
Tidsserieanalys i SQL Server

När allt går som det ska

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

Resultat:

January8US August1FR
2019-01-08 2019-08-01
Tidsserieanalys i SQL Server

När allt går fel

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

Error converting string value '01/13/2019' into data type date using culture 'fr-fr'.
Tidsserieanalys i SQL Server

Hantera fel på rätt sätt

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
Tidsserieanalys i SQL Server

Kostnaden för säkerhet

Säkra metoder är inte dyrare än osäkra metoder.

Tidsserieanalys i SQL Server

Kostnaden för säkerhet

Funktionerna CAST() och CONVERT() körs med ungefär samma hastighet.

Tidsserieanalys i SQL Server

Kostnaden för säkerhet

Funktionen PARSE() är betydligt långsammare än CAST() och CONVERT().

Tidsserieanalys i SQL Server

Kostnaden för säkerhet

Dessa mått är per sekund, vilket innebär att de skalar linjärt.

Tidsserieanalys i SQL Server

Nu kör vi en övning!

Tidsserieanalys i SQL Server

Preparing Video For Download...