- 締切済み
SQLの日付+その他の取得
SQLで和暦と日付の変換後の表示を行いたいです。 フィールド名Aに6桁の数字(199811など)が入っていて これを(和暦)yy年mm月と表示させたいのですが、 SQLで変換可能なのでしょうか? フィールド名A,テーブル名B,(必要であれば)フィールド名Aの別名Cとして、 SELECTの構文を教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Cheshire-Alice
- ベストアンサー率20% (23/110)
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)
失礼しました。「日付」ではなく「フィールドA」でした。 「テーブルB.日付」を「テーブルB.フィールドA」にしてください。 以下です。 SELECT テーブルB.フィールドA, Format(Format(([フィールドA]),"@@@@\/@@\"),"gggee\年mm\月") AS フィールドC FROM テーブルB;
- piroin654
- ベストアンサー率75% (692/917)
土俵がわからないのですが、一応Visual Basicでの質問 ということで、 SELECT テーブルB.日付, Format(Format(([フィールドA]),"@@@@\/@@\"),"gggee\年mm\月") AS フィールドC FROM テーブルB;
お礼
使用している物とか書いてませんでしたね、すみません ですが望んだ結果が出せました ありがとうございます
補足
使用しているのはC#で、DBはSQLServer2012ですね もしかしてこれだけでも大きく変わります?