
No.3ベストアンサー
- 回答日時:
やはり、日付型で持つべきです。
(1)編集関数(Format)が使える。
(2)日付用関数(DateAdd、DateDiff)が使える。
(3)○年△月第□☆曜日などはSQLで取得できる。
8月第3土曜日から日付を求めるのは簡単ではありません。
どうしてもとなると、上の記号に当たる部分(年、月、順位、曜日)を
1セットで記録しなければなりません。特定の値を求めるにあたって、
項目数が多いほど拙い設計と言えます。
ご回答ありがとうございます。
日付型で持つべきというご意見、非常に参考になります。
私の考えていた処理法はかなり拙い設計だったようです。
任意の年の8月第3土曜の日付、例えば「2008-08-16」というデータを所持していればそこから2009年の8月第3土曜が「2009-08-15」であるという算出は可能なのでしょうか。
No.4
- 回答日時:
データベースですから、日付+イベント情報というデータを蓄積することに意味があるのではないでしょうか。
>「2008-08-16」というデータを所持していればそこから2009年の8月第3土曜が「2009-08-15」であるという・・・
「○年△月の第3土曜日は何日か」というのは算術の問題で、データベースにどんなテーブル/レコードがあるか
という事象とは無関係です。登録されたデータの中から、8月第3土曜日にあるイベントを抽出するというのが
本筋のような気がします。参考までに第3土曜日を求める関数を記載します。
Function 第3土曜(ByVal 年 As Long, ByVal 月 As Long) As Date
Dim 日 As Date
日 = DateSerial(年, 月, 1)
第3土曜 = DateAdd("d", 21 - Weekday(日), 日)
End Function
ありがとうございます。
DBの本質的な部分を教えていただき大変勉強になりました。
テーブル/レコードの形式を決め、抽出法について考察しようと思います。
No.2
- 回答日時:
>「8月第3土」として所持したいのです。
>そしてそこから8/16という日にちを算出したいのですが。
この場合第3土というのが
(1)その月3回目の土曜日
(2)その月の1日の週を1週目とした3週目の土曜
によってやりかたは変わります。
また(2)の場合、
週の初めの日を月曜日とするか日曜日とするかで処理がかわります。
また、「8月第3土」で所持する場合、年情報もいれておかないと
日付を確定することはできません
No.1
- 回答日時:
たとえば、今日が何月何週目何曜日か?
(1)何月
SELECT MONTH(CURDATE());
(2)何週・・・ちょっと複雑
今月1日が年の中で何週目かもとめ、今日が年の中何週目かもとめる。
その差に1をたすと今月何週目かでる。
SELECT WEEK(CURDATE()) - WEEK(DATE_FORMAT(CURDATE(),"%Y-%m-01"))+1;
(3)何曜日
SELECT WEEKDAY(CURDATE());
ご回答ありがとうございます。
例えば8月第3土曜が8/16だとして、
DBは「8/16」ではなく「8月第3土」として所持したいのです。
そしてそこから8/16という日にちを算出したいのですが。
教えていただいた内容を参考にすると、
月の1日の曜日と何週目かを算出してそこから処理といった感じでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLで日付(date)型のdefaul...
-
mysqlに格納されている日付のデ...
-
SQLローダーCSV取込で、囲み文...
-
Oracleで「文字が無効です」の...
-
単一グループのグループ関数で...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
データ
-
SELECT FOR UPDATE で該当レコ...
-
count関数の値をwhere句で使用...
-
AccessのSQL文で1件のみヒット...
-
2つの列が同じ値の行を取得するSQL
-
割合(パーセント)を求めるには?
-
レコードの登録順がおかしい
-
where句中のtrim関数について
-
updateで複数行更新したい
-
accessでDISTINCT 句と矛盾
-
group byの並び順を変えるだけ...
-
引数によってwhere句を切り替え...
-
SQL*Loader Append
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<SQL>重複しているデータの場合...
-
複数のテーブルから値を合計出...
-
最新の日付と2番目の日付のデー...
-
【ExcelVBA】入力された日付か...
-
LIKE検索で範囲指定の方法
-
項目以外の文字列は連結できま...
-
日付
-
Mysqlについて、どの程度の処理...
-
SQLで、同じ値が何回連続す...
-
検索を繰り返す?
-
日付
-
mysqlでunixtimeによる日付範囲...
-
MySQLにおける条件/公開日を指...
-
PHPとMYSQLを使用したデータベ...
-
日付検索で0001-01-01 00:00:00...
-
windows7のmysqlで今日の日付か...
-
型変換
-
効率の良いSQL文の書き方を教え...
-
SQLです教えてくださいお願いし...
-
日付や日時を格納する場合の型...
おすすめ情報