SQL中统计字段中空格数,以及截取前两个空格前的数据

由于数据中的字符串比较长,显示出来效果不是很好,所以想只显示字段中第二个空格前的数据,编写SQL函数

 
GO
/****** Object:  UserDefinedFunction [dbo].[GroupRows]    Script Date: 12/18/2017 1:56:29 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter FUNCTION [dbo].[GetTwoWord](@SuplierName varchar(100))
RETURNS varchar(8000)
AS
BEGIN
  DECLARE        @result         varchar(8000)
  DECLARE        @temp           varchar(100)
  DECLARE        @SpaceCount     int--varchar(100)

  SET @result        =  ltrim(@SuplierName)
  SET @temp          =  ltrim(@SuplierName)
  SET @SpaceCount    =  0

  while( CHARINDEX(' ',@temp) > 0 )
  begin
   SET   @temp = SUBSTRING(@temp,CHARINDEX(' ',@temp) +1,LEN(@temp))
   SET   @SpaceCount = @SpaceCount + 1
    if ( @SpaceCount >= 2 )
	 begin
	  SET  @result = SUBSTRING(@SuplierName,1,LEN(@SuplierName)-LEN(@temp)) -- @temp
	  return @result
	 end
  end 
 
  RETURN  @result
 
END


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值