SQL REPLACE语句替换某些数字而不是全部数字
我正在尝试使用T-SQL REPLACE语句替换DepartmentID列下中间的4个数字 我了解更改一组部门ID编号的简单方法,我希望能够更改部门ID下的所有中间编号 选择替换(部门ID、'000701280918'、'000799990918')作为部门ID 来自员工 目标选择所有员工,将部门ID中的4个中间数字替换为9999: ---4---4---4 0007 0128 0918 左边是4个字符 右边4个字符SQL REPLACE语句替换某些数字而不是全部数字,sql,tsql,sql-server-2008,Sql,Tsql,Sql Server 2008,我正在尝试使用T-SQL REPLACE语句替换DepartmentID列下中间的4个数字 我了解更改一组部门ID编号的简单方法,我希望能够更改部门ID下的所有中间编号 选择替换(部门ID、'000701280918'、'000799990918')作为部门ID 来自员工 目标选择所有员工,将部门ID中的4个中间数字替换为9999: ---4---4---4 0007 0128 0918 左边是4个字符 右边4个字符 >4的中碳 表:雇员 表中的第一列:EmployeeID 列:部门ID 00
>4的中碳
表:雇员 表中的第一列:EmployeeID 列:部门ID 000701280918 000701782662 000702220442 000702118362 000702108487 000702109473 000702033600 000702275707
我该如何写这份声明 感谢您的帮助查看功能:
update YourTable
set DepartmentId = stuff(DepartmentId, 5, 4, '9999')
此代码会将DepartmentId列设置为以前的状态,但会将中间的四个数字全部更改为9。使用子字符串UPDATE YOURTABLE set YOURCOLUMN=replace(子字符串(YOURCOLUMN,1,5)+“9999”+子字符串(9))(idk关于“中间的数字是,只需将子字符串用于positio,我在本例中使用了1到4和9来结束)如何将其用于列DepartmentId中的每一行?@user975828如果不使用
WHERE
子句过滤掉任何行,则更改将应用于所有行。这是一个难以描述的更新。
update YourTable
set DepartmentId = left(DepartmentId, 4) + '9999' + right(DepartmentId, 4)