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

タイムスタンプがBETWEENのSQLクエリからの予期しない結果

    データ型を確認してください 列とタイムゾーンの 。 を混乱させる可能性がありますtimestamp with time zone およびtimestamp

    timestampがあるようです テーブル内にありますが、timestamptzでクエリを実行します 。このように、すべてはセッションのローカルタイムゾーンに依存します(特に指定されていない場合、デフォルトでサーバーのタイムゾーンになります)。

    両方をtimestamptzに切り替えます 、またはtimestamp タイムゾーンがあなたと完全に無関係である場合。 (疑わしい場合は、timestamptzを使用してください 。)

    問題の原因ではありませんが、クエリはおそらく次のようになります。

    SELECT id, text, category, starttime, endtime, creation 
    FROM   entries 
    WHERE  starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
    AND    starttime <  timestamp '2013-03-22'
    ORDER  BY id
    

    a BETWEEN x AND y ほとんどの場合間違っている timestampの場合 分数によるタイプ!クエリはstarttime = '2013-03-21T23:59:59.123+00'で何をしますか ?




    1. ストアドプロシージャは複数の結果セットを返します

    2. ORA-00942:表またはビューがSpringBootのSpringJDBCテンプレートに存在しません

    3. mysqldumpエラー1045正しいパスワードなどにもかかわらずアクセスが拒否されました

    4. フルテキストインデックスが作成されていないため、テーブルビューまたはインデックスビューでCONTAINSまたはFREETEXT述部を使用することはできません。