我有一个 Oracle 表,在该表中有一列 NCLOB
类型。我想对其执行SELECT LIKE
,如下所示:
SELECT
*
FROM
T_WEB_TASK_IT
WHERE DBMS_LOB.substr( T_WEB_TASK_IT.ISSUE_DESCRIPTION , 32000, 1)
LIKE '%Turning on the%'
但它不起作用,我收到一条错误消息:
String buffer too small
但我不明白怎么会这样,因为我知道该特定记录的该列中没有那么多字符!
最佳答案
您可以使用DBMS_LOB.INSTR
函数在lob中搜索字符串。像这样:
SELECT *
FROM T_WEB_TASK_IT
WHERE DBMS_LOB.INSTR( T_WEB_TASK_IT.ISSUE_DESCRIPTION , 'Turning on the') > 0
关于Oracle 选择 NCLOB 类似于某个字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424273/