我在参考表中有数据,如< 55,> 60(等),在源代码中,值将为40,70(等)。因此,基于参考值,我必须检查条件。
示例;
如果值参考表是< 55
我在where子句中的条件是40 <55
如果> 70
我在where子句中的条件是
40→60
actaully我正在检查不同文件上的多重条件在哪里...这将是与AND的条件之一。
你能告诉我处理它的方法。
提前致谢
答案 0 :(得分:0)
SQL> column str format A10;
SQL> WITH ref_data
2 AS (SELECT '<55' VAL
3 FROM dual
4 UNION ALL
5 SELECT '>60' val
6 FROM dual),
7 source_data
8 AS (SELECT 40 VAL
9 FROM dual
10 UNION ALL
11 SELECT 70 VAL
12 FROM dual)
13 SELECT CASE
14 WHEN B.val < To_number(Regexp_substr(A.val, '[[:digit:]]+')) THEN B.val
15 ||'<'
16 ||
17 Regexp_substr(A.val, '[[:digit:]]+')
18 ELSE B.val
19 ||'>'
20 ||Regexp_substr(A.val, '[[:digit:]]+')
21 END str
22 FROM ref_data A,
23 source_data b;
STR
----------
40<55
70>55
40<60
70>60
SQL>