【发布时间】:2019-11-22 21:30:28
【问题描述】:
在 SQL 中使用 REPLACE 函数时不断出错,我不知道为什么?
我执行这个查询:
UPDATE [ShellPlus].[dbo].[Views]
SET [ShellPlus].[dbo].[Views].SerializedProperties = REPLACE(SerializedProperties,'|EKZ PSG met verkort EEG','|EKZ PSG met verkort EEG|EEG kort op EEG3')
WHERE [ShellPlus].[dbo].[Views].InternalViewID = '3F4C1E8E-DA0C-4829-B447-F6BDAD9CD505'
我不断收到这条消息:
消息 8116,第 16 级,状态 1,第 6 行 参数数据类型 ntext 对于替换函数的参数 1 无效。
- 在更新时,我给出了正确的表格
- 在 SET 我给出了正确的列
- 在 REPLACE 我给出:(列名,'旧字符串','新字符串')
我做错了什么?
【问题讨论】:
-
错误告诉你问题。为什么你还在使用
ntext?它已被弃用近 15 年。 -
此外,使用 3+ 部分命名(在您的情况下为 4 部分)引用列名也已被弃用,应避免使用。你的代码有一天会停止工作。
-
@GarethD 虽然这是一个明显的重复,但您链接到的帖子中的答案都没有给出解决方案或解释问题 - 您得到的最好的是一种解决方法。这就是我撤销你重复投票的原因。
标签: sql-server tsql sql-update