ISDATE函數用于檢查一個字符串是否能轉換為日期。如果字符串可以轉換為日期,則返回1;如果不能轉換為日期,則返回0。以下是使用ISDATE函數處理日期格式轉換問題的示例:
SELECT ISDATE('2022-01-01') AS IsDate;
-- 結果為1,表示字符串可以轉換為日期
SELECT
CASE
WHEN ISDATE('2022-01-01') = 1 THEN CONVERT(DATE, '2022-01-01')
WHEN ISDATE('01/01/2022') = 1 THEN CONVERT(DATE, '01/01/2022', 103)
ELSE NULL
END AS ConvertedDate;
在上面的示例中,首先使用ISDATE函數檢查字符串是否可以轉換為日期,然后根據不同的日期格式使用CONVERT函數將字符串轉換為日期類型。如果字符串不能轉換為日期,則返回NULL。