由于谷歌搜索,结果是LIKE
运算符和CHARINDEX()
函数只搜索varchar(max)列的前8K。
更新:在 SQL Server 2008(10.0.5538.0)上,搜索超过8K对我无效。
答案 0 :(得分:3)
执行此操作的一种方法是在此表上创建一个视图,使用SUBSTRING将列分区为8k块。除了这些0索引分区之外,还以4k块为单位对列进行分区。
然后,您可以对这些列中的每一列应用LIKE
子句,如果任何列匹配该行,则匹配。
此方法存在明显的局限性(搜索词必须低于8k,搜索参数必须以通配符开头和结尾),但启用全文搜索才是真正的答案
答案 1 :(得分:0)
我从未听说过这个限制!我只是测试它确定并且我在varchar(max)col中插入10K和20K数据并搜索最后一个没有出现在前8K中的部分,并且SQL Server找到了该行。
所以第一个问题的答案是:否