Trong SQL Server 2012, bạn có thể sử dụng TRY_CONVERT
:
SELECT TRY_CONVERT(DATETIME2, '2012-02-02 13:42:55.2323623'),
TRY_CONVERT(DATETIME2, '2012-02-31 13:42:55.2323623');
Kết quả:
2012-02-02 13:42:55.2323623 NULL
Hoặc TRY_PARSE
:
SELECT TRY_PARSE('2012-02-02 13:42:55.2323623' AS DATETIME2),
TRY_PARSE('2012-02-31 13:42:55.2323623' AS DATETIME2);
(Kết quả tương tự.)
Xin lỗi vì tôi không có câu trả lời thông minh cho bạn cho
Nhưng điều đó cảm thấy bẩn thỉu.
SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23));
TRY_CONVERT
tài liệu về Microsoft Docs
TRY_PARSE
tài liệu về Microsoft Docs