0
列(日付と呼ぶ)がタイムスタンプタイプのテーブルがあるとしましょう。毎週日曜日に起こったことをどうやって尋ねますか?「日曜日が日曜日のときに何かを探す」と聞くにはどうすればよいですか?
Select something
From somewhere
Where date = 'Sunday';
列(日付と呼ぶ)がタイムスタンプタイプのテーブルがあるとしましょう。毎週日曜日に起こったことをどうやって尋ねますか?「日曜日が日曜日のときに何かを探す」と聞くにはどうすればよいですか?
Select something
From somewhere
Where date = 'Sunday';
はextract()
機能を使用します。
Select *
From the_table
Where extract(dow from date_column) = 0;
はまた、あなたが月曜日に始まる週を好むならば、あなたの代わりにisodow
を使用することができます。
Select *
From the_table
Where extract(isodow from date_column) = 7;
を上記の2つのクエリは、クライアントの上で独立しています言語。
Select *
From the_table
Where to_char(date_column, 'DAY') = 'SUNDAY';
しかし、これは、SQLクライアントが設定した言語に依存しているように私は
は、することをお勧めしません:あなたは
to_char()
を使用したい場合は、曜日名を使用することができます。クライアントのコンピュータが異なるロケールを使用すると失敗することがあります。
したがって、1は月曜日、2は火曜日などでしょうか? –
@ MarkoPolo:マニュアルへのリンクを参照してください。どちらのバージョンもそこに記載されています。しかし、はい、1は月曜日です。 'dow'と' isodow'は月の最初の日の数字が異なります( 'isodow'は決して' 0'を返しません - 月曜日は1から始まります) –