Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server:грешка дата и час извън диапазона

Предполагам, че вашият WDATE е varchar / char, а не datatime, както трябва да бъде, можете да го преобразувате по този начин, но аз препоръчвам да промените типа данни на datetime. Опитайте това:

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)

Опитайте този код, той трябва да намери повечето невалидни дати

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. Предайте променлива в тригер

  2. Анализирайте XML в SQL Server

  3. SSMS 2008 преобразува контролните символи в интервали, когато използва „Резултати в таблица“

  4. SQL:търсене на низ във всяка колона с varchar в база данни

  5. Какви биха могли да бъдат добри начини за внедряване на ASP.Net уеб приложения?