oracle中casewhen怎么根据判断字符串
时间: 2024-01-23 16:06:59 浏览: 72
在 Oracle 中,可以使用 `CASE WHEN` 语句根据不同条件进行判断并返回不同的结果。如果需要在 `CASE WHEN` 语句中判断字符串,可以使用字符串比较运算符(如等于号、不等于号、LIKE 等)来进行判断。
例如,假设有一个表 `mytable`,其中有一个名为 `column1` 的字符串列,我们需要根据不同的字符串值返回不同的结果,可以使用以下 `CASE WHEN` 语句:
```
SELECT column1,
CASE column1
WHEN 'value1' THEN 'result1'
WHEN 'value2' THEN 'result2'
ELSE 'default result'
END
FROM mytable;
```
在这个例子中,如果 `column1` 的值为 'value1',则返回 'result1',如果 `column1` 的值为 'value2',则返回 'result2',否则返回 'default result'。可以根据实际情况修改条件和结果。
如果需要进行模糊匹配,可以使用 `LIKE` 运算符。例如,可以使用以下 `CASE WHEN` 语句根据不同的字符串模式进行匹配:
```
SELECT column1,
CASE
WHEN column1 LIKE 'prefix%' THEN 'prefix result'
WHEN column1 LIKE '%suffix' THEN 'suffix result'
ELSE 'default result'
END
FROM mytable;
```
在这个例子中,如果 `column1` 的值以 'prefix' 开头,则返回 'prefix result',如果 `column1` 的值以 'suffix' 结尾,则返回 'suffix result',否则返回 'default result'。可以根据实际情况修改匹配模式和结果。
阅读全文