问题描述
我正在尝试在一个非常大的文本字段(例如 1 亿个字符)中搜索文本字符串。 Select locate(LT.LARGE_TEXT,'text to find') from LARGE_TEXT LT
是我尝试过的查询。 locate
函数给了我一个错误:
sqlFetch 22001(-433)[IBM][CLI 驱动程序][DB2/LINUXX8664] 期间出错
sql0433N 值“
解决方法
有两个问题。首先,您似乎颠倒了函数参数。根据{{3}},调用是
LOCATE(<search-string>,<source-string> [,<start> [CODEUNITS16|CODEUNITS32|OCTETS]])
其次,<search-string>
和 <source-string>
参数都属于 VARCHAR
类型或强制转换为 VARCHAR
,而 VARCHAR
具有 reference documentation。正如评论中所建议的,您应该使用 maximum length of 32672 bytes。