0
私はPostgreSQLデータベースにtimestamp型のカラムを持つテーブルを持っています。今、タイムスタンプ列の日付部分だけを指定して、すべてのフィールドのデータを取得する必要があります。どのように私はSQLクエリを介してこれを行うことができますか?PostgreSQL:タイプタイムスタンプの列の日付値のみを含むWHERE条件を指定する方法はありますか?
私はPostgreSQLデータベースにtimestamp型のカラムを持つテーブルを持っています。今、タイムスタンプ列の日付部分だけを指定して、すべてのフィールドのデータを取得する必要があります。どのように私はSQLクエリを介してこれを行うことができますか?PostgreSQL:タイプタイムスタンプの列の日付値のみを含むWHERE条件を指定する方法はありますか?
はdate
にあなたのコラムをキャスト:::date
を使用して
select ...
from ...
where the_timestamp_column::date = date '2017-01-28';
The castはPostgresの固有の構文です。あなたはANSI SQLを好む場合は、上記の条件がthe_timestamp_column
上のインデックスの使用をすることはありませんことを明示cast()
select ...
from ...
where cast(the_timestamp_column as date) = date '2017-01-28';
注意を使用しています。必要な場合は、式にインデックスを作成するか、範囲クエリを使用してください:
select ...
from ...
where the_timestamp_column >= timestamp '2017-01-28 00:00:00'
and the_timestamp_column < timestamp '2017-02-01 00:00:00';
ありがとうございました。出来た:) – Arjun