• 締切済み

SQLの日付+その他の取得

SQLで和暦と日付の変換後の表示を行いたいです。 フィールド名Aに6桁の数字(199811など)が入っていて これを(和暦)yy年mm月と表示させたいのですが、 SQLで変換可能なのでしょうか? フィールド名A,テーブル名B,(必要であれば)フィールド名Aの別名Cとして、 SELECTの構文を教えていただきたいです。

みんなの回答

回答No.3

DBは何ですかね。SELECT文で和暦を取得するならDBの種類ごとに違うからご自分で検索どうぞ。 https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=sql+%E5%92%8C%E6%9A%A6%E5%A4%89%E6%8F%9B #1様の回答は多分Seect文で取ってきた日付を、VB側で変換する為のコードかと思われるので、質問への直接回答では無いかも知れません。 ですがSelect文で和暦を取得しようとすると、いわば"和暦変換関数"がDB内で走ることになるので、システムの仕様によってはDBサーバーにかなり負荷をかけるはずです。個人的には暗黙のご法度かと。なのでクライアント側で和暦変換する#1様の回答、というか仕様がベストな気がします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

失礼しました。「日付」ではなく「フィールドA」でした。 「テーブルB.日付」を「テーブルB.フィールドA」にしてください。 以下です。 SELECT テーブルB.フィールドA, Format(Format(([フィールドA]),"@@@@\/@@\"),"gggee\年mm\月") AS フィールドC FROM テーブルB;

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

土俵がわからないのですが、一応Visual Basicでの質問 ということで、 SELECT テーブルB.日付, Format(Format(([フィールドA]),"@@@@\/@@\"),"gggee\年mm\月") AS フィールドC FROM テーブルB;

namaikida
質問者

お礼

使用している物とか書いてませんでしたね、すみません ですが望んだ結果が出せました ありがとうございます

namaikida
質問者

補足

使用しているのはC#で、DBはSQLServer2012ですね もしかしてこれだけでも大きく変わります?

関連するQ&A