27,579
社区成员
发帖
与我相关
我的任务
分享
SELECT '000000001250003182' AS ID UNION ALL
SELECT '0000DT0002' UNION ALL
SELECT '0001298989'
WITH T1
AS
(
SELECT '000000001250003182' AS ID UNION ALL
SELECT '0000DT0002' UNION ALL
SELECT '0001298989' UNION ALL
SELECT '1234' )
SELECT ID=STUFF(ID,1,PATINDEX('%[^0]%',ID)-1,'') FROM T1
SELECT ID,REPLACE(LTRIM(REPLACE(ID,0,' ')),' ',0)
FROM(
SELECT '000000001250003182' AS ID UNION ALL
SELECT '0000DT0002' UNION ALL
SELECT '0001298989'
)TAB
-- 写一个自定义函数吧
drop function fn_trim
go
create function fn_trim(@str varchar(max), @ch varchar(1))
returns varchar(max)
AS
begin
while @str like @ch + '%'
begin
set @str = substring(@str,2,len(@str))
end
return @str
end
go
with m as (
SELECT '000000001250003182' AS ID UNION ALL
SELECT '0000DT0002' UNION ALL
SELECT '0001298989'
)
select id , dbo.fn_trim(id,'0') from m
go
id
------------------ ------------------------------
000000001250003182 1250003182
0000DT0002 DT0002
0001298989 1298989
(3 行受影响)