mssql sqlserver 使用sql脚本剔除字符串(左边或右边)零的方法


摘要:
下文讲述使用sql脚本剔除字符串(左边或右边)零的方法分享,如下所示:
实验环境:sql server 2008 R2


实现思路:
通过将整个字符串中的零全部替换为特殊字符,然后将特殊字符替换为空格

   ---1.如果字符串不存在空格字符串,我们可以借助空格字符串对数据进行处理
   --- 首先将0全部替换为空格字符串,然后使用ltrim或rtrim字符串,然后再将空格字符串替换为零
      create table [maomao365.com]
	(info nvarchar(30))
	go
	insert into [maomao365.com] (info)
	values ('0012401245120'),('a'),
	(N'0猫猫小屋'),(N'sql教程0')
	go
	select 
	replace(
		ltrim(rtrim(replace(info,'0',' ') )),
		' ','0')
	from 
	[maomao365.com]
  
	go
	truncate table  [maomao365.com]
	drop     table  [maomao365.com]
	go 
--------------------------------------------------------------

   ---2.采用自定义函数处理左边0(右边同理)   
      
   ---例:剔除左边的0
    create function dbo.fn_test(@a nvarchar(30))
      returns nvarchar(30) 
    as 
    begin
  
   declare @tmp nvarchar(30)
   set @tmp =left(@a,1)
      while @tmp ='0'
       begin
         set @a =substring(@a,2,len(@a))
         set @tmp =left(@a,1)
     end
   
     return @a
   end
go
-----------------------------------------------------
create table [maomao365.com]
(info nvarchar(30))
go
insert into [maomao365.com] (info)
values ('0012401245120'),('a'),
(N'0猫猫小屋'),(N'sql教程0')
go
select 
 dbo.fn_test(info)
 from 
 [maomao365.com]
  
go
truncate table  [maomao365.com]
drop     table  [maomao365.com]
go

drop function dbo.fn_test 
 

相关阅读:
MSSQL sql server 字符串函数 Left 功能简介