- ベストアンサー
文字列からアルファベットだけを抜き出すには
以下のようなSELECT文を実行して SELECT 船名 FROM 船マスタ 以下のような結果が返ってくるDBがあります。 船名はNVARCHAR型です。 船名 ------------- A800BCC A800BCD 800BDC ・ ・ この表示結果をアルファベット部分だけ(ABCC、ABCD、BDCみたいな) にしたいのですが、そのような関数も用意されて無い様で 考え方すら浮かんできません。 格納されているデータからアルファベット部分または数字部分だけを 抜き出して表示する事は可能でしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結論から言うと、ご希望の関数はありません。 mid関数で文字をひとつずつ検査してアルファベット化どうかを判断する自前関数を作るしかありません。 create procedure alpha @moji varchar(100) as declare @kekka varchar(100) declare @i int set @kekka = '' set @i=1 while @i<=len(@moji) begin if substring(@moji,@i,1) >='a' and substring(@moji,@i,1)<='Z' set @kekka = @kekka + substring(@moji,@i,1) set @i=@i+1 end select @kekka
お礼
回答ありがとうございます。 関数が無ければ作れば良かったのですね、 サンプルまで書いていただき助かりました。