sql >> データベース >  >> RDS >> Sqlserver

Datetime BETWEEN ステートメントが SQL Server で機能しない

    日付に関連する時間はありますか? BETWEEN は包括的ですが、2013-10-18 を日付に変換すると、2013-10-18 00:00:000.00 になります。 18 日の最初の 1 秒以降に記録されたものは、時間の値を含めない限り、BETWEEN を使用して表示されません。

    試してみてください:

    SELECT 
    * 
    FROM LOGS 
    WHERE CHECK_IN BETWEEN 
        CONVERT(datetime,'2013-10-17') 
        AND CONVERT(datetime,'2013-10-18 23:59:59:998')
      

    18 日の丸一日を検索したい場合。 SQL Server がクエリで 2013-10-19 00:00:00:0000 を取得していたため、ミリ秒を 998 に設定しました。

    SQL DATETIME フィールドにはミリ秒があります。そこで、フィールドに 999 を追加しました。



    1. 派生テーブルのSQLServerROW_NUMBER()OVER()の計算

    2. JDBC:同じトランザクションで作成されたPKの外部キー

    3. Sphinxベータ版は本番環境で使用できますか?

    4. MySQLデータベースへの最後の変更の日付/時刻を取得する