meg*_*off 3 sql oracle contains case
我找了一个工作示例,我可以在案例陈述检查时使用mutliple来验证是否包含特定文本:例如
SELECT
ID,
NAME,
(SELECT
(Case when Contains(Descr,"Test") Then "contains Test"
when Contains(Descr, "Other") Then "contains Other"
Else "No Match" End) From DESCRIPTION
where item_id = id
) as "Match"
From Item
Run Code Online (Sandbox Code Playgroud)
MT0*_*MT0 12
在Oracle中,字符串文字需要用单引号括起来.
要查找子字符串匹配,您可以使用LIKE:
SELECT ID,
NAME,
CASE WHEN Descr LIKE '%Test%' THEN 'Contains Test'
WHEN Descr LIKE '%Other%' THEN 'Contains Other'
ELSE 'No Match'
END AS Match
FROM Item i
LEFT OUTER JOIN
Description d
ON i.id = d.item_id
Run Code Online (Sandbox Code Playgroud)
或者INSTR():
SELECT ID,
NAME,
CASE WHEN INSTR( Descr, 'Test' ) > 0 THEN 'Contains Test'
WHEN INSTR( Descr, 'Other' ) > 0 THEN 'Contains Other'
ELSE 'No Match'
END AS Match
FROM Item i
LEFT OUTER JOIN
Description d
ON i.id = d.item_id
Run Code Online (Sandbox Code Playgroud)
或者REGEXP_LIKE():
SELECT ID,
NAME,
CASE WHEN REGEXP_LIKE( Descr, 'Test' ) THEN 'Contains Test'
WHEN REGEXP_LIKE( Descr, 'Other' ) THEN 'Contains Other'
ELSE 'No Match'
END AS Match
FROM Item i
LEFT OUTER JOIN
Description d
ON i.id = d.item_id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50163 次 |
| 最近记录: |