Sql 更新和替换字符串的一部分
我有一个包含两列的表,Sql 更新和替换字符串的一部分,sql,sql-server,string,sql-server-2008,replace,Sql,Sql Server,String,Sql Server 2008,Replace,我有一个包含两列的表,ID和Value。我想更改第二列中某些字符串的一部分 表格示例: ID值 --------------------------------- 1 c:\temp\123\abc\111 2 c:\temp\123\abc\222 3 c:\temp\123\abc\333 4 c:\temp\123\abc\444 现在不需要值字符串中的123\。我尝试了更新和替换: UPDATE dbo.xxx SET Value = REPLACE(Value, '%123%', '
ID
和Value
。我想更改第二列中某些字符串的一部分
表格示例:
ID值
---------------------------------
1 c:\temp\123\abc\111
2 c:\temp\123\abc\222
3 c:\temp\123\abc\333
4 c:\temp\123\abc\444
现在不需要值
字符串中的123\
。我尝试了更新
和替换
:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
更新dbo.xxx
设置值=替换(值“%123%”,“”)
其中ID尝试删除%
字符,如下所示
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4
更新dbo.xxx
设置值=替换(值'123','')
其中ID您不需要在REPLACE
中使用通配符-它只查找您为第二个参数输入的字符串,因此以下操作应该有效:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4
要使查询在并非每一行都需要更新的大表中运行得更快,您还可以选择只更新要修改的行:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <= 4
AND Value LIKE '%123%'
更新dbo.xxx
设置值=替换(值'123','')
其中ID有一个表,其中的日期代码是七个字符,类似于
"32-1000"
现在要替换所有
"32-"
与
必须运行的SQL查询是
Update Products Set Code = replace(Code, '32-', '14-') Where ...(Put your where statement in here)
您应该使用下面的更新查询
UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id IN(1, 2, 3, 4)
UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id <= 4
UPDATE dbo.xxx SET Value=REPLACE(值,'123\',''),其中Id位于(1,2,3,4)
更新dbo.xxx SET Value=REPLACE(值,'123\',''),其中Id用于任何想要替换脚本的人
updatedbo.[TABLE_NAME]设置COLUMN_NAME=replace(COLUMN_NAME,'old_value','new_value'),其中COLUMN_NAME类似于%CONDITION%
查询:
UPDATE tablename
SET field_name = REPLACE(field_name , 'oldstring', 'newstring')
WHERE field_name LIKE ('oldstring%');
替换为波斯语单词
UPDATE dbo.TblNews
SET keyWords = REPLACE(keyWords, '-', N'،')
帮助:
dbo.TblNews—表名
关键字--fild name它可以工作,但不能与ntext类型一起工作:(…>>Msg 8116,16级,状态1,第21行-参数数据类型ntext对于替换函数的参数1无效。我刚刚找到解决方案:)===>等等,`有什么问题吗?这不是在转义
“`字符并使其不正确吗?这很有帮助如果列类型为Text或NText,则不起作用,请参阅此答案。请解释您的答案如何解决此问题,它将帮助每个人更清楚地理解您的解决方案,并供将来参考。它不会取代任何内容,因为通配符不被视为通配符,而被视为文本。请查看队列:我请求您在源代码周围添加一些上下文。只有代码的答案很难理解。如果你能在帖子中添加更多信息,这将有助于提问者和未来的读者。@RBT这就是为什么reddit有如此疯狂的迷因
UPDATE table_name
SET field_name = '0'
WHERE field_name IS Null
UPDATE tablename
SET field_name = REPLACE(field_name , 'oldstring', 'newstring')
WHERE field_name LIKE ('oldstring%');
UPDATE dbo.TblNews
SET keyWords = REPLACE(keyWords, '-', N'،')
UPDATE table_name
SET field_name = '0'
WHERE field_name IS Null