Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Có một chức năng như isdate () cho datetime2 không?

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

SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23));

Nhưng điều đó cảm thấy bẩn thỉu.

TRY_CONVERT tài liệu về Microsoft Docs
TRY_PARSE tài liệu về Microsoft Docs



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo một ngày từ tháng và năm với T-SQL

  2. Mã di chuyển đầu tiên và quy trình lưu trữ

  3. Biểu thức chính quy để xác thực tên bảng SQL Server

  4. Cách hiển thị dữ liệu từ cơ sở dữ liệu vào hộp văn bản và cập nhật nó

  5. Tên tệp đăng ký SSRS w / Ngày