我想在包含特定的unicode空白字符的oracle數據庫中查找clobs,但我不知道如何編寫select語句。如何從oracle中選擇unicode空白字符?
嘗試下面的查詢,但不知道這是否是正確的方法去做:
select * from mytable where my_clob like '%'|| n'0xEF' || '%';
我想在包含特定的unicode空白字符的oracle數據庫中查找clobs,但我不知道如何編寫select語句。如何從oracle中選擇unicode空白字符?
嘗試下面的查詢,但不知道這是否是正確的方法去做:
select * from mytable where my_clob like '%'|| n'0xEF' || '%';
如果你知道你要找的字符的字符代碼,您可以使用CHR()
來建立一個表達式來查找特定的代碼;
SELECT *
FROM mytable
WHERE my_clob LIKE '%' || CHR(15052183) || '%';
我不確定你想要搜索的是什麼字符,但我認爲這是您要查找的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
這個工作,非常感謝 – Tim 2013-05-13 00:08:02