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

SQL Server:lỗi ngày ngoài phạm vi

Tôi giả sử WDATE của bạn là một varchar / char và không phải là datatime như bình thường, bạn có thể ép kiểu như thế này, tuy nhiên, tôi khuyên bạn nên thay đổi kiểu dữ liệu thành datetime. Hãy thử cách này:

SELECT W.NUMBER,B.NAME,Br.NAME,W.WDATE,W.REPAIRSTATUS,W.REPAIRCOST,W.REMARK 
FROM Work_Order AS W,Brands AS B,Branches AS Br 
WHERE W.BRANDID = B.ID AND W.BRANCHID = Br.ID 
AND CONVERT( DATETIME, WDATE, 101) < CONVERT( DATETIME, '09/18/2012', 101)

Hãy thử mã này, nó sẽ tìm thấy hầu hết các ngày không hợp lệ

SELECT WDATE, W.NUMBER,B.NAME,Br.NAME,W.WDATE,W.REPAIRSTATUS,W.REPAIRCOST,W.REMARK 
FROM Work_Order AS W,Brands AS B,Branches AS Br 
WHERE W.BRANDID = B.ID AND W.BRANCHID = Br.ID 
AND WDATE not like '[0-1][0-9]/[0-3][0-9]/20[0-1][0-9]'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lấy các bản ghi có giá trị NULL từ một bảng?

  2. Tự động xóa các giao dịch bị quên trong MS SQL Server

  3. Tạo một hàm có giá trị bảng trong SQL Server

  4. UNION TẤT CẢ Hiệu suất TRONG SQL Server 2005

  5. Với SQL, bạn có thể sử dụng một truy vấn con trong mệnh đề WHERE LIKE không?