素朴な疑問です
SQLを書く際、時間も入った日付を8桁に戻すように処理したくFORMATを利用しようとしました。
※DATEADDを使うと時間も入ってしまうため、外側からFORMATで囲む仕様です。
この時’yyyyMMdd’という指定の仕方をしたのですが、
なぜMMは大文字なのでしょうか…
確かにmm(小文字)指定だと00がとれてくるので、「ああ、使えないんだな」というのは分かったのですが、疑問に思ったので。
知っている方いらっしゃいましたら、ご教授ください。
MAXのKEYDATE='20180701'の場合
FORMAT無し | yyyyMMdd | yyyymmdd |
---|---|---|
2018-06-24 00:00:00.000 | 20180624 | 20180024 |
実際のSQL内容
SELECT MAX(AA.KEY_DATE) AS KEY_DATE FROM AA_DB..A AS AA UNION ALL SELECT FORMAT(DATEADD(week,-1,MAX(AA.KEY_DATE)),'yyyyMMdd') AS KEY_DATE FROM AA_DB..A AS AA
(補足)見つけた時の処理内容
やりたかったこととしては、DBに入っている値でMAXの日付と
その1週間前の日付の2つを取り出して後々JOINに使おう…ということです。
※SQL Serverを利用しています。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/09 07:56 編集
2018/08/09 08:33