2016-10-23 9 views
1

私の従業員の姓をリストアップしたいが、K Q Sの文字をXに変更したいとしましょう。一度にどのようにすればいいですか?これまでのところ私は1文字を変更することができました文字列内の複数の文字を同時に他の文字に変換しますか?

SELECT TRANSLATE (surname, 'K', 'X') 
FROM employees; 

しかし、残りのQ(S)も同様にXに変更できますか?

答えて

2

だけの引数に含める:

SELECT TRANSLATE(surname, 'KQS', 'XXX') 
FROM employees; 

二番目の引数内の各文字を'X'が必要です。

+0

は、うーん、私は、私はこのようにこれを実行しようとしましたが、私は唯一のXの代わりにXXXの使用を参照してくださいどうもありがとうございました。 – Expert

0

これを試してみてください。

SELECT REGEXP_REPLACE (surname, 'K|Q|S', 'X') 
FROM employees; 
+0

細いものもありますので、お手数をおかけください。 – Expert

+1

これは機能しますが、翻訳は高速になります。 Regexpは、非正規表現の解が存在しないか、あまりにも複雑な場合(したがって、バグが発生しやすく、保守が困難な場合)に最もよく使用されます。 – mathguy

関連する問題