我正在使用一个Oracle数据库,我想知道如何在varchar类型列中找到行,其中该列的值包含一些字符串。
我正在尝试这样的东西(这是我想要的一个简单例子),但它不起作用:
select p.name from person p where p.name contains the character 'A';
我也想知道我是否可以使用像chr(1234)这样的函数,其中1234是一个ASCII代码,而不是我的示例查询中的’A’字符,因为在我的情况下,我想在我的数据库中搜索名称一个人包含8211作为ASCII码的字符。
查询从双重选择CHR(8211);我得到我想要的特殊字符。
例:
select p.name from person p where p.name contains the character chr(8211);
我假设你的意思是表中的行。你要找的是:
原文链接:https://www.f2er.com/oracle/206278.htmlselect p.name from person p where p.name LIKE '%A%'; --contains the character 'A'
以上是区分大小写。对于不区分大小写的搜索,您可以执行以下操作:
select p.name from person p where UPPER(p.name) LIKE '%A%'; --contains the character 'A' or 'a'
对于特殊的角色,你可以做:
select p.name from person p where p.name LIKE '%'||chr(8211)||'%'; --contains the character chr(8211)
LIKE运算符匹配模式。该命令的语法在Oracle documentation中详细描述。您将主要使用%符号,因为它意味着匹配零个或多个字符。