我在SQL Server 2005中有一个从SQL Server 2000启动的数据库,它仍然使用TEXT类型字段而不是varchar(max).
我需要在文本字段中查找并替换一串字符,但是我发现的所有如何执行此操作的示例似乎都不适合我.似乎UPDATETEXT命令要求显式设置两个参数"insert_offset"和"delete_length",但我正在搜索的字符串可能会出现在文本中的任何一点,甚至是同一单元格中的几个点.我对这两个参数的理解是,我搜索的字符串将始终位于同一位置,因此insert_offset是UPDATETEXT命令将开始替换文本的文本中的空格数.
示例:需要查找:<u>并将其替换为:<u>
文本字段示例:
*Everyone in the room was <b><u>tired</u>.</b><br>Then they woke <b><u>up</u>.
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?谢谢!
我知道TEXT,NTEXT和IMAGE已被弃用,最终将从SQL Server中删除.
但是,除了这种弃用之外,为什么VARCHAR(max),NVARCHAR(max)和VARBINARY(max)数据类型更好?为什么微软会选择它们?
我注意到VARCHAR和NVARCHAR可以和=和GROUP BY一起使用,而旧类型则不能.有更多的好处吗?