- ベストアンサー
SQLの書き方を教えてください
お世話になります。すみませんが教えてください。 ORACLE9iに対してプログラムのSQLの中で以下のような記述をしています。 SUBSTRB(A.TORIHIKISAKI,1,6) ここで、TORIHIKISAKIに「オきゃくさま」というデータが処理対象になったときに、「オきゃ」となってしまいます。 6バイトにして出力したいので「オきゃ」+ブランク1バイト の形にしたいのですがどのように記述すればよいのでしょうか? お手数ですが経験者の方、ご回答、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 以下を試してみました。 "オ"は半角です。半角スペースは"_"で表現しています。 RPAD(SUBSTRB('オきゃくさま',1,6),6,'o') →'オきゃ_' RPAD(SUBSTRB('オきゃくさま',1,5),6,'o') →'オきゃo' なので、SUBSTRBの時点で半角スペースが補完されていると思われます。
その他の回答 (2)
- Kuppycat
- ベストアンサー率50% (109/216)
回答No.2
SUBSTRB(A.TORIHIKISAKI,1,6) の段階でブランク1バイトが補完されていると思うのですが。 「オきゃくさま」の「オ」は半角カタカナですか? 全角カタカナだと「オきゃ」で6バイトになるのでブランクは入りません。
質問者
補足
すみません、「オきゃくさま」の「オ」は半角カタカナです!「オきゃ」で5バイトになります! gooでは勝手に2バイトになってしまうのですね。。。
- naganaga_001
- ベストアンサー率71% (172/242)
回答No.1
お世話になります。 環境がないので試せないのですが、 RPAD(SUBSTRB(A.TORIHIKISAKI,1,6), 6) はどうでしょうか。
お礼
回答ありがとうございます。 御礼遅くなりましてすみませんでした。 うまくいきました!