postgresで、ある日付から前日までのカレンダーをテーブル作成することなく、用意したいのですが、良い方法がわかりません。
どのようにすればよいのでしょうか?
■イメージ
2014/9/1から前日まで
(2014/10/20に実行した場合)
2014/9/1
2014/9/2
2014/9/3
・
・
・
2014/10/19
オラクルでは以下のように指定できたのですが、postgresではどのように指定すればよいのかわかりませんでした。
select
to_date ('20140901', 'YYYYMMDD') + ROWNUM - 1 date1
from
ALL_CATALOG
where
to_date ('201400901', 'YYYYMMDD') + ROWNUM - 1 <= sysdate - 1
order by
1
No.1
- 回答日時:
generate_series を使うのが簡単かと。
SELECT generate_series('2014-09-01', CURRENT_DATE - 1, '1 day')::DATE;
ver 8.4 以降なら使えるはずです。
参考URL:http://www.postgresql.jp/document/9.3/html/funct …
この回答への補足
早速のご回答ありがとうございます。
大変申し訳ございません、情報が不足しておりました。
確認したところ、version PostgreSQL 8.0.2でした。
このバージョンではエラーとなってしまうようです。
ERROR: 42883: function generate_series("unknown", date, "unknown") does not exist
他に方法はありますでしょうか?
No.2ベストアンサー
- 回答日時:
8.0系でも数値を返す generate_series は使えるようですので、連番を生成して開始日に足すようにすれば良さそうです。
SELECT '2014-09-01'::DATE + num
FROM generate_series(0, CURRENT_DATE - '2014-09-01' - 1) AS tmp(num);
蛇足ですが、8.0.2がリリースされたのは9年半も前ですし、その後、セキュリティアップデートも何度も出ていますので、もっと新しいバージョンを使われた方が良いと思いますよ。
参考URL:http://www.postgresql.jp/document/8.0/html/funct …
ご連絡遅くなり、申し訳ございません。
教えて頂いた方法で日付が作成出来ました!
大変助かりました。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでMySQL内のデータの合計値...
-
postgresのカレンダーについて
-
日替わりメッセージを表示させ...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
SELECT FOR UPDATE で該当レコ...
-
select文の実行結果に空白行を...
-
アクセスのレポートでレコード...
-
count関数の値をwhere句で使用...
-
2つの列が同じ値の行を取得するSQL
-
AccessのSQL文で1件のみヒット...
-
BLOBやCLOBのパフォーマンスを...
-
【PL/SQL】FROM区に変数を使う方法
-
int型フィールドにnullを登録で...
-
テーブルのフィールドの一番長...
-
where句中のtrim関数について
-
<SQL>重複しているデータの場合...
-
レコードの登録順がおかしい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
【PL/SQL】DATE型の時刻の表示...
-
PHPとMysqlを使用した集計表の...
-
データ更新用のphpの記述でデー...
-
PHPでMySQL内のデータの合計値...
-
postgresのカレンダーについて
-
EXCELマクロのSQL文での引用符...
-
bash内のaws cli cloudwatch Lo...
-
日替わりメッセージを表示させ...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
2つの列が同じ値の行を取得するSQL
-
レコードの登録順がおかしい
-
<SQL>重複しているデータの場合...
-
AccessのSQL文で1件のみヒット...
おすすめ情報