我有一个oracle 11g表。列A中的数据是RS_X,RS_2,RS_3等。
如果数据是' X'在RS_之后,输出应设置为' -1'。
有人可以让我知道我该怎么做。
由于 帕
答案 0 :(得分:1)
如果您想使用REGEX执行此操作,请使用此SQL。
update my_table
set output = -1
where regexp_like(columnA, '^RS_X')
" RS_X"所有记录在columnA中它们的值的开头,将输出中的值设置为-1。
答案 1 :(得分:0)
您可以使用select decode和substr
select decode(substr(columnA, 4,1),'X', -1, columnA) from my_table;
或与条件
select -1 from my_table
where substr(columnA, 4,1) = 'X' ;
答案 2 :(得分:0)
使用以下查询获取输出 -
select col1,decode(substr(col1,4,1),'X',-1,1) from test1
输出就像 -
RS_1 1
RS_2 1
RS_3 1
RS_X -1