• ベストアンサー

日付がINT型として入っている場合の取得は?

DB2のテーブルで日付がINT型で入っている箇所がありますが取得できません。 データの形がYYYYMMDDという風に入っています。型はINTです。 今日の日付のデータを取得したいのでcurrent_dateを使えばいいと思うのですが、current_dateは日付型ですよね(直指定以外で・・・) 変換をしようと思うのですが、INT型に変換できません・・・ そもそもできないのでしょうか?VARCHAR_FORMATとかは使えないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

year( current date ) * 10000 + month( current date ) * 100 + day( current date )

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

『DB2のUDFを作成する』 等ある。 キーワードがわかるなら事例を探す。それくらいはできるだろう。 どうしてもダメなら、 10000で割ってその整数部分は西暦、なんとかなる。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました

すると、全ての回答が全文表示されます。
回答No.1

DB2って、非常に長い歴史があるRDBMSです。バージョンなどを提示しましょう。 実機確認する環境がないですが、一旦、整数から文字に変換して、必要なら文字連結やSUBSTRを使えばいいのでは? 関数のネストもできるでしょうし。 変換可能なデータ型の組み合わせなどは、マニュアルに図表などが掲載されているはずです。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました

すると、全ての回答が全文表示されます。