首页 > Linux操作系统 > Linux操作系统 > TEXT字段类型比较,查找,替换
我们都知道Text类型的字段不能进行<>,=等比较操作,也不能使用replace函数替换。
要比较Text类型,只能使用like.
如果不用like,有没有其它办法来进行比较呢?
答案肯定是有的,使用SUBSTRING函数转换。
--例子

代码
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->IF OBJECT_ID('tempdb..#TestText') IS NOT NULL
DROP TABLE #TestText
CREATE TABLE #TestText (
Text1 text,
Text2 text,
varchar1 varchar(max),
varchar2 varchar(max))
INSERT INTO #TestText(Text1,
Text2,
varchar1,
varchar2)
VALUES('a text string for col1','a text string for col2','varchar_a','varchar_b')
--Text不可以这样操作
SELECT * FROM #TestText WHERE Text1 <> Text2
SELECT * FROM #TestText WHERE Text1 = 'a'
--nvarchar可以这样操作
SELECT * FROM #TestText WHERE varchar1 <> varchar2
--使用SUBSTRING函数,一切都可以解决了
SELECT * FROM #TestText WHERE SUBSTRING(Text1,1,datalength(Text1)) <> SUBSTRING(Text2,1,datalength(Text2))
SELECT * FROM #TestText WHERE SUBSTRING(Text1,1,datalength(Text1)) = 'a'
SELECT replace(SUBSTRING(Text1,1,datalength(Text1)),'a','b') FROM #TestText
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16436858/viewspace-663363/ ,如需转载,请注明出处,否则将追究法律责任。