我正在尝试在包含特定unicode空格字符的oracle数据库中找到clobs,但我不确定如何编写select语句。
尝试以下查询,但不确定这是否是正确的方法:
select * from mytable where my_clob like '%'|| n'0xEF' || '%';
答案 0 :(得分:5)
我不确定你想搜索哪个角色,但我认为这是你正在寻找的UNISTR
命令。此外,LIKE
会隐式转换为VARCHAR2
(我认为),因此您只搜索前4000个字符。试试这个来搜索不间断的空间:
SELECT *
FROM mytable
WHERE dbms_lob.instr( my_clob, UNISTR( '\00A0' )) > 0;
https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions224.htm#SQLRF06154
答案 1 :(得分:2)
如果您知道要查找的角色的字符代码,可以使用CHR()
构建表达式以查找特定代码;
SELECT *
FROM mytable
WHERE my_clob LIKE '%' || CHR(15052183) || '%';