LOCATE当搜索字符串中有空格时,内置函数不起作用

时间:2013-07-19 12:41:22

标签: oracle

我在使用LOCATE查询CLOB字段时遇到了一个小问题。

我正在CLOB中搜索特定名称,但只要我在搜索字符串中添加空格就会返回0索引。

工作代码:

select count(REFERENCE_#) AS AssignCount
from ARADMIN.SRMIS_REQUEST
where DATE_OCCURRED_DT is not null
and (DATE_OCCURRED_DT >= add_months(sysdate, -12) )
and ({FN LOCATE('INFO-MGMT-SRVCS.R3', "SRMIS_REQUEST"."TRACE_LOG")} > 0)

非工作代码:

select count(REFERENCE_#) AS AssignCount
from ARADMIN.SRMIS_REQUEST
where DATE_OCCURRED_DT is not null and trim(DATE_OCCURRED_DT) != ''
and (DATE_OCCURRED_DT >= add_months(sysdate, -12) )
and ({FN LOCATE('The problem has been assigned to INFO-MGMT-SRVCS.R3', "SRMIS_REQUEST"."TRACE_LOG")} > 0)

我甚至查询了“SRMIS_REQUEST”。“TRACE_LOG”并直接将带有空格的字符串复制到我的where子句中进行测试。

Oracle文档没有说明允许空格的位置。

我的第二次查询出了什么问题?

修改 我更改了我的查询以使用instr()而不是LOCATE()并且它有效。

0 个答案:

没有答案