sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server:fel med datum och tid utanför intervallet

Jag antar att din WDATE är en varchar / char och inte datatime som den borde vara, du kan casta den så här, men jag rekommenderar att du ändrar datatypen till datetime. Prova detta:

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)

Prova den här koden, den borde hitta de flesta ogiltiga datumen

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. Inaktivera säker priv för dataladdning på MySQL

  2. SCHEMA() Funktion i MySQL

  3. Hur man uppdaterar/tar bort med element från två olika tabeller SQLite

  4. 4 Användbara kommandoradsverktyg för att övervaka MySQL-prestanda i Linux