2016-05-25 17 views
-1

オラクル11gテーブルがあります。列AのデータはRS_X、RS_2、RS_3などです。オラクル11g正規表現パターン

RS_の後にデータが「X」の場合、出力は「-1」に設定する必要があります。

誰かが私にこれを行う方法を教えていただけますか?

おかげ Pavan

答えて

0

あなたは選択デコードおよびSUBSTR

select decode(substr(columnA, 4,1),'X', -1, columnA) from my_table; 

または条件

select -1 from my_table 
where substr(columnA, 4,1) = 'X' ; 
+0

substrは、3ではなく4から実行する必要があります.3は '_'です。 – SubhasisM

+0

@SubhasisMありがとう私は答えを更新する – scaisEdge

0

が出力を取得するには、以下のクエリを使用してどこで使用することができます -

select col1,decode(substr(col1,4,1),'X',-1,1) from test1 

出力は次のようになります - あなたは、この使用REGEXをしたい場合は、このSQLを使用

RS_1 1 
RS_2 1 
RS_3 1 
RS_X -1 
1

update my_table 
set output = -1 
where regexp_like(columnA, '^RS_X') 

columnAの値の先頭に「RS_X」を持つすべてのレコードの出力の値は-1に設定されます。