如何从oracle中选择unicode空白字符?

时间:2013-05-11 11:36:44

标签: sql oracle

我正在尝试在包含特定unicode空格字符的oracle数据库中找到clobs,但我不确定如何编写select语句。

尝试以下查询,但不确定这是否是正确的方法:

select * from mytable where my_clob like '%'|| n'0xEF' || '%'; 

2 个答案:

答案 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) || '%';

An SQLfiddle to test with