34,594
社区成员
发帖
与我相关
我的任务
分享
BEGIN
UPDATE dbo.YHZH SET HHBHID =
substring(ZJID,patindex('%[^0-9][0-9]%',ZJID)+1,patindex('%[0-9][^0-9]%',ZJID)-patindex('%[^0-9][0-9]%',ZJID)) FROM dbo.YHZH;
UPDATE dbo.YHZH SET HHBHID = ''
WHERE HHBHID = '0';
SELECT * FROM dbo.YHZH
END
GO
create table YHZH(ZJID varchar(50),HHBHID varchar(50))
insert into YHZH(ZJID)
select '某某某1234号'
update YHZH
set HHBHID=substring(ZJID,
patindex('%[0-9]%',ZJID)+1,
patindex('%[0-9][^0-9]%',ZJID)-patindex('%[0-9]%',ZJID))
update YHZH set HHBHID='' where HHBHID='0'
-- 把HHBHID中的数字不到9位数的,左侧补0,补足9位
update YHZH set HHBHID=replicate('0',9-len(HHBHID))+HHBHID
-- 结果
select * from YHZH
/*
ZJID HHBHID
-------------------------------------------------- --------------------------------------------------
某某某1234号 000000234
(1 row(s) affected)
*/