我正在使用 Oracle 数据库,我想知道如何在 varchar 类型列中找到行,其中该列的值具有包含某些字符的字符串。
我正在尝试这样的事情(这是我想要的一个简单示例),但它不起作用:
select p.name
from person p
where p.name contains the character 'A';
我还想知道是否可以在示例查询中使用 chr(1234)
之类的函数,其中 1234 是 ASCII 码而不是 'A'
字符,因为在我的情况下,我想搜索我的数据库值,其中一个人的名字包含 8211 作为 ASCII 码的字符。
通过查询 select CHR(8211) from dual;
我得到了我想要的特殊字符。
例子:
select p.name
from person p
where p.name contains the character chr(8211);
原文由 ibaneight 发布,翻译遵循 CC BY-SA 4.0 许可协议
通过 _行_,我假设您的意思是表中的行
person
。您正在寻找的是:以上是区分大小写的。对于不区分大小写的搜索,您可以执行以下操作:
对于特殊字符,您可以执行以下操作:
LIKE
运算符匹配一个模式。 Oracle 文档 中详细描述了此命令的语法。您将主要使用%
符号,因为它意味着 _匹配零个或多个字符_。