FormatStr 格式化SQL

USE [DEV]
GO
/****** Object:  UserDefinedFunction [dbo].[FormatStr]    Script Date: 12/21/2011 17:32:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[FormatStr](@str varchar(1000))
returns varchar(1000)
as
begin
    --declare @str varchar(50)
    declare @lenStr int,@i int,@index int
    declare @tmpStr varchar(1000)
    declare @lastChar bit
    set @lastChar = 0
    set @i = 1
    --set @str = 'R11-103422,R11-103455,R11-103421,R11-103420'
    set @lenStr = len(@str);
    set @tmpStr =''
    set @index = 0;
    while (1=1)
    begin
        if CharIndex(',',@str,0) = 0
            begin
                Set @LastChar = 1;
                set @tmpStr = @tmpStr + '''' + @str + '''';
                set @tmpStr = '(' + @tmpStr + ')'
                return @tmpStr
            end       

        set @index = CharIndex(',',@str,0);
        --set @tmpStr = SubString(@str,1,@index);
        set @lenStr =len(@str);
        if @LastChar = 0
            begin
                set @tmpStr = @tmpStr + '''' + SubString(@str,1,@index-1) + ''','
                set @str = SubString(@str,@index+1,@lenStr-@index)
                set @i = @i +1
            end
        --else
            --begin
                --set @tmpStr = @tmpStr + '''' + SubString(@str,1,@index-1) + ''''
                --set @str = SubString(@str,@index+1,@lenStr-@index)
                --set @i = @i+1
                --break;
            --end
    end
    set @tmpStr = '(' + @tmpStr + ')'
    return @tmpStr
end

转载于:https://www.cnblogs.com/perock/archive/2011/12/21/2296107.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值