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. LAST_INSERT_ID()と別のテーブルの行を使用したPHP/MySQLでの2つの挿入

    2. json_encodeへの複数のMySQLテーブル

    3. MySQLが同じテーブルに参加

    4. mysqldbaseの奇妙な文字