處理無效日期

SQL Server 的時間序列分析

Maham Faisal Khan

Senior Data Science Content Developer

避免錯誤的日期轉換函式

「不安全」函式

CAST()
CONVERT()
PARSE()

安全函式

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
SQL Server 的時間序列分析

一切順利時

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

結果:

January8US August1FR
2019-01-08 2019-08-01
SQL Server 的時間序列分析

一切出錯時

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'.
SQL Server 的時間序列分析

在錯誤中做對

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
SQL Server 的時間序列分析

安全性的成本

使用安全方法與不安全方法的成本相當。

SQL Server 的時間序列分析

安全性的成本

`CAST()` 與 `CONVERT()` 的執行速度大致相同。

SQL Server 的時間序列分析

安全性的成本

`PARSE()` 明顯比 `CAST()` 與 `CONVERT()` 慢。

SQL Server 的時間序列分析

安全性的成本

這些是每秒測量值,會線性擴張。

SQL Server 的時間序列分析

一起來練習吧!

SQL Server 的時間序列分析

Preparing Video For Download...