
postgreSQLの構文内で今月の頭(1日)や先月の頭(1日)や先月の末日を変数として出力する方法を教えてください。
※データのテーブルは添付参照
もちろん日付を意図して指定しての構文はできるのですが、汎用的に作成したくご相談させてください。
①今月の頭の算出はあまり浮かんでいないです。
②先月の頭は今月の頭-1(月の方を引く) 例 2021-09-01.000 -1ヶ月 = 2021-08-01.000
③先月の末は今月の頭-1(月の方を引く) 例 2021-09-01.000 -1秒 = 2021-08-30.xxx
また、ここで得られた構文をselectの中に埋め込みたいです。
select
*
from
eample_table
where
date >= '②'
and
date <= '③';
このような構文を作ることは可能でしょうか。
以上、よろしくお願いいたします。

A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
マニュアル、読んだことありますか?
https://www.postgresql.jp/document/12/html/index …
9.9. 日付/時刻関数と演算子
https://www.postgresql.jp/document/12/html/funct …
に日付関連の演算や関数がサンプルと一緒に載っています。
これを一通り読むだけで、複数のアイディアが思い浮ぶのではないでしょうか?
たとえば
ある日付を含む月の最初の日を求める方法
・「ある日付」 - (「ある日付の『日』」-1)日 を計算する
・(「ある日付」の『年』)年(「ある日付」の『月』)月1日 を作る
・「ある日付」を『月』で切り捨てる
判定の方も、「8/31 23:59:59以前」だと「8/31 23:59:59.1」が範囲外になります。
この場合は
・時刻込みのdate列ではなく、そこから日付部分だけを抜き出す
・「最終日以前」ではなく「次月の1日0時0分より前」にする
等の対策があります。
また
「列dateを含む月の最初の日」= 指定月の最初の日
とすれば範囲で考える必要がなくなります。
「列dateの『年』」= 指定年 and 「列dateの『月』」= 指定月
というやり方もあります。
どの方法がいいかは、最終的に何がしたいかにもよるので、いろいろ考えてみましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列が存在しないと言われる
-
【Access】フォームで自動計算...
-
accsessで顧客コードで氏名を呼...
-
Access クロス集計クエリについて
-
【続続】Access2002で連番のつ...
-
Access2000 更新のタイミング?
-
カウントが出来ません
-
下記の事を行うSQLがわかりませ...
-
再計算って出来ますか?
-
Countと受付状態の表示に...
-
エクセルマクロにて最終行まで...
-
jwwのクロスラインカーソルの角...
-
アクセスで困ってます(初心者)
-
ペイペイフリマとyahooとの連携...
-
肥満体で彼女いない歴=年齢で...
-
指定した項目の列削除
-
BIOSでAHCIに設定したいが、項...
-
ワードで4段組みで文章を書い...
-
ACCESSで表が作りたく、そのた...
-
SQLもしくはアクセスでの操作方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
列が存在しないと言われる
-
INSERTできるレコード数を制限...
-
0の除算
-
PostgreSQLで表結合+DELETEしたい
-
alter tableすると、処理が止ま...
-
DBから日付順に指定件数の削除...
-
powergres(postgres)にalter文...
-
動的に生成したカラムを使ったF...
-
COPY時のtimestamp型について
-
■一番最初に値が入っている(Nul...
-
constraint と index の違い
-
SQLite:項目が存在しない場合の...
-
DB2 「既存カラムへのnot null...
-
長いSQL文を実行するには?
-
Oracleシルバーの問題です。
-
PostgreSQLで、元テーブルをコ...
-
SQLで特定データがNULLなら別デ...
-
SQLiteに関数追加
-
CREATE INDEXはどういう時に使...
-
特定の位置が特定の範囲に含ま...
おすすめ情報