2

Oracle テーブルがあり、このテーブルには type の列があります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%'

しかし、それは機能していません。次のようなエラーが表示されます。

文字列バッファが小さすぎます

しかし、その特定のレコードのその列にそれほど多くの文字がないという事実を知っているので、どうしてそれができるのかわかりません!

4

2 に答える 2

2

関数を使用DBMS_LOB.INSTRして、LOB 内の文字列を検索できます。このような:

SELECT *
FROM   T_WEB_TASK_IT
WHERE  DBMS_LOB.INSTR( T_WEB_TASK_IT.ISSUE_DESCRIPTION , 'Turning on the') > 0
于 2013-12-06T13:01:09.007 に答える
0

DBMS_LOB.INSTR とは別に、正規表現も使用できます。

SELECT *
FROM T_WEB_TASK_IT
WHERE regexp_like(issue_description, 'Turning on the')
于 2013-12-06T14:35:25.127 に答える