Oracle:缺少右括号

标签 oracle sql-like

我有一个疑问:

SELECT (column LIKE '%string%') AS bool FROM table

它返回:

"missing right parenthesis"

为什么?

最佳答案

由于LIKE运算符,我们无法使用DECODE函数。我想下面的内容,尽管很难看,但符合您正在寻找的内容:

SELECT
    login,
    CASE 
        WHEN login LIKE 'admin' THEN 1
        ELSE 0
    END
FROM users;

或者,使用类似 bool 值:

SELECT
    login,
    CASE 
        WHEN login LIKE 'admin' THEN 'TRUE'
        ELSE 'FALSE'
    END
FROM users;

如果您使用 LIKE 运算符,则需要在“admin”字符串中使用一些 % 通配符,否则简单的等式就足够了。

Fiddle

Documentation

关于Oracle:缺少右括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14921816/

相关文章:

php - 查找哪里和哪个词匹配了sql LIKE语句

php - 为什么这段代码会失败?类似mysql的问题

SQL 服务器 : delete where string value contains another value

mysql - 使用 Oracle 防止重复记录将垂直数据显示为水平数据

java - 带有时间戳和日期字段的 JPA 选择查询无法检索结果

c# - 在 Oracle 中生成 .Net 报价

mysql - 如何在 LIKE 中使用百分比 (%) 而不将其视为通配符?

MySql 选择 2 个表 Like

oracle - 如何从plsql存储过程返回集合类型

oracle - 什么是卡住线程?