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

SQL Server 2008 で日付と時刻を検索する

    SQL Server で利用可能な日時形式を確認する必要があります:http:// msdn.microsoft.com/en-us/library/ms187928.aspx

    yyyy-mm-dd hh:mi を使用する必要があります:

    試してください:

    SELECT * FROM Records WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'  

    上記のクエリでは、DateCreated の場合、文字列は日時データ型に変換されます 日時列です。クエリが機能します。

    datetime データ型のローカル変数を作成し、次のようなクエリを使用できます:

    DECLARE @StartDate datetime, @EndDate datetimeSELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'SELECT * FROM Records WHERE DateCreated>[email protected]
     AND DateCreated<[email protected]
       

    <、<=、>=、または> を使用するのが好きです。なぜなら、BETWEEN よりも柔軟性があるからです。 エンドポイントを含めるかどうかを考える必要があります。

    考慮すべきもう 1 つのことは、丸一日からすべてのデータを取得することです:

    DECLARE @StartDate datetime, @EndDate datetime -- 希望する曜日を設定SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'--時間を削除しますSELECT @StartDate=DATEADD(day,DATEDIFF(day,0,@StartDate),0), @EndDate=DATEADD(day,DATEDIFF(day,0,@EndDate),0)--'2007 のすべてを取得します- 02-30' から'2008-06-21'SELECT * FROM Records WHERE DateCreated>[email protected]
     AND 作成日<@EndDate+1  

    1. Symfony/PHP-単一の値を保存するための最良の方法

    2. PostgreSQL:一意の制約または一意のインデックス

    3. mysqlから最後のレコードを取得する

    4. SQLSELECTAND演算子