Obsługa nieprawidłowych dat

Analiza szeregów czasowych w SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Funkcje konwersji dat odporne na błędy

Funkcje „niebezpieczne"

CAST()
CONVERT()
PARSE()

Funkcje bezpieczne

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
Analiza szeregów czasowych w SQL Server

Gdy wszystko idzie dobrze

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

Results:

January8US August1FR
2019-01-08 2019-08-01
Analiza szeregów czasowych w SQL Server

Gdy wszystko idzie źle

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'.
Analiza szeregów czasowych w SQL Server

Jak sobie radzić, gdy wszystko idzie źle

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
Analiza szeregów czasowych w SQL Server

Koszt bezpieczeństwa

Użycie bezpiecznych metod nie jest droższe niż użycie niebezpiecznych.

Analiza szeregów czasowych w SQL Server

Koszt bezpieczeństwa

Funkcje CAST() i CONVERT() działają z podobną szybkością.

Analiza szeregów czasowych w SQL Server

Koszt bezpieczeństwa

Funkcja PARSE() jest znacznie wolniejsza niż CAST() i CONVERT().

Analiza szeregów czasowych w SQL Server

Koszt bezpieczeństwa

Są to miary na sekundę, co oznacza liniową skalowalność.

Analiza szeregów czasowych w SQL Server

Czas na ćwiczenia!

Analiza szeregów czasowych w SQL Server

Preparing Video For Download...