sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:chyba datum a čas mimo rozsah

Předpokládám, že vaše WDATE je varchar / char a ne datatime, jak by mělo být, můžete to přenést takto, ale doporučuji, abyste změnili datový typ na datetime. Zkuste toto:

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)

Zkuste tento kód, měl by najít většinu neplatných dat

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. SQL Server vybírá odlišné nejnovější hodnoty

  2. Propojte MySQL s Pythonem 3.6

  3. Server Ruby on Rails se nespustí:dyld:Selhala vazba líného symbolu:Symbol nenalezen:_mysql_get_client_info

  4. Propojení třetí tabulky s tabulkou mostu v asociaci mnoho k mnoha