0

たとえば、列startMonthをIntegerとして持っています199812

私はそれの翌月を持っていて、整数を返す必要があり199901ます。これをSQLで1行で処理するにはどうすればよいですか?

に似ている

SELECT NEXTMONTH(199812)

表示されます199901

4

2 に答える 2

0

sybase の構文についてはわかりませんが、私のアプローチは次のようになります。

  1. 整数を文字列にキャストします
  2. 末尾に 01 を追加
  3. 結果を日付にキャストする
  4. 月を追加
  5. 年と月を抽出し、文字列にキャストします。
  6. それらを連結してから、int にキャストします。
于 2013-05-14T16:35:54.703 に答える
0
select case when startMonth % 100 = 12
            then startMonth - 11 + 100
            else startMonth + 1
       end
于 2013-05-14T16:06:46.207 に答える