SQL REPLACE语句替换了一些不是全部的数字

时间:2011-10-02 22:44:37

标签: sql tsql sql-server-2008

我正在尝试使用T-SQL REPLACE语句替换DepartmentID列下的中间4个数字....

我理解更改一组DepartmentID号码的简单方法,我希望能够更改DepartmentID下的所有中间号码

SELECT REPLACE(DepartmentID,'000701280918','000799990918')AS DepartmentID

FROM Employees

目标选择所有员工,在DepartmentID中用9999替换4个中间数字:

--- 4 ----- ----- 4 4

0007 0128 0918

左边4个字符

右边4个字符

中间有4个字符


表:员工

表格中的第一列:EmployeeID

专栏:DepartmentID

000701280918

000701782662

000702220442

000702118362

000702108487

000702109473

000702033600

000702275707


我将如何撰写声明

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

查看stuff功能:

update  YourTable
set     DepartmentId = stuff(DepartmentId, 5, 4, '9999')

答案 1 :(得分:1)

update YourTable
set DepartmentId = left(DepartmentId, 4) + '9999' + right(DepartmentId, 4)

此代码将DepartmentId列设置为之前的值,除非它将中间的四个数字更改为所有九个。