SQL Server で下記条件を書く場合、どう記述すればよいでしょうか?


Format(DateAdd("m",IIf(Day([仕入日])>=[締日], 1,0), [仕入日]),"yyyy/mm")

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/08/13 08:09:18
  • 終了:2007/08/13 14:17:11

回答(2件)

id:beatgoeson No.1

beatgoeson回答回数128ベストアンサー獲得回数142007/08/13 09:20:43

ポイント35pt

http://q.hatena.ne.jp/1186960158

substring(convert(char(10),dateadd(m,(case when datepart(d,[仕入日]) >= [締日] then 1 else 0 end),[仕入日]),111),1,7)

でどうでしょうか。

id:disca

ありがとうございます!

2007/08/13 14:15:55
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/08/13 10:09:55

ポイント35pt

Jet と SQL Server の文法の違いが下記にまとまっているので、参考になるかと思います。

http://www.syswat.com/sqltips.html#tpc5060


今回の SQL だと下記のような感じでしょうか。

SELECT
    
     Day( 仕入日 )>= 締日 THEN
        dateadd( mm, 1, 仕入日 )
    ELSE
        仕入日
    END
FROM MY_TABLE
id:disca

こちらも、ありがとうございます!。

2007/08/13 14:16:57
  • id:Mook
    最近はてなの回答はバグがあるのでしょうか。
    書いたはずの文字が消えてしまうことが良くあります。


    2行目には WHEN がありますので、修正してお試しください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません