とっておきの「夜食」教えて下さい

お願いします。

SQLSERVERで、テーブル項目の指定文字列を削除したいのですが
その削除したい文字列が複数あります。

例えば、商品マスタ
商品コード | 商品名 |
0001 | black-001.a
0002 | black/001 a

とある時、商品名からピリオド、カンマ、ハイフン、スペース、スラッシュ
を一度に削除したいです。

そしてその項目をビューで使用したいです。

Replace関数だと一度に一つしか削除できないようなので何か方法がないかと
思案しております。

ふと、関数を作成してできないのかと考えたのですがどうなのでしょうか?
※作成した事がないので・・・・

また他によい方法があればご教授お願いいたします。

A 回答 (1件)

>Replace関数だと一度に一つしか削除できないようなので何か方法がないかと


>思案しております。
Replace関数を入れ子にすればよろしいかと。
Replace(Replace(Replace(Replace(Replace(商品名, '.', ''), ',', ''), '-', ''), ' ', ''), '/', '')

もちろん、関数を作ればカッコイイですけど。

ORACLE なら既に REGEXP_REPLACE なんて関数があります。
    • good
    • 0
この回答へのお礼

出来ました、ありがとうございます。

入れ子にするのは、何度かやってみてはいましたがSQLSERVER側で自動で一つに
されてしまったので、出来ないものだと思っていました!!

yorozu_yaさんの回答をコピーして、項目を入れ替えたらすんなり入りましたので
記述がおかしかったのだと思います。

大変助かりました、ありがとうございます。

お礼日時:2011/10/09 10:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報