sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008 で関数をコンマで分割する

    Split() で重複しないように関数名を変更しました

    コードは次のとおりです:

    CREATE FUNCTION dbo.GetColumnValue(
    @String varchar(8000),
    @Delimiter char(1),
    @Column int = 1
    )
    returns varchar(8000)
    as     
    begin
    
    declare @idx int     
    declare @slice varchar(8000)     
    
    select @idx = 1     
        if len(@String)<1 or @String is null  return null
    
    declare @ColCnt int
        set @ColCnt = 1
    
    while (@idx != 0)
    begin     
        set @idx = charindex(@Delimiter,@String)     
        if @idx!=0 begin
            if (@ColCnt = @Column) return left(@String,@idx - 1)        
    
            set @ColCnt = @ColCnt + 1
    
        end
    
        set @String = right(@String,len(@String) - @idx)     
        if len(@String) = 0 break
    end 
    return @String  
    end
      

    使用方法は次のとおりです:

    select dbo.GetColumnValue('Col1,Field2,VAlue3', ',', 3)
      

    1. PostgreSQLシリアルタイプのHibernateアノテーション

    2. SQL ServerのOrderByは、負の値の前に正の値を配置します

    3. ループ内のPHP変数を使用したMySQLアップデート

    4. Djangoで主キーシーケンスを安全に転送するにはどうすればよいですか?