代码之家  ›  专栏  ›  技术社区  ›  craigmoliver

转换SQL Server数据库中的字符串数据

  •  0
  • craigmoliver  · 技术社区  · 14 年前

    我需要转换一些存储为 瓦卡尔 在我要更改的SQL Server数据库中 驼峰命名法 分隔符 . 我知道如何在C语言而不是T-SQL语言中实现这一点。有什么想法吗?

    3 回复  |  直到 14 年前
        1
  •  1
  •   pavanred    14 年前
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    Alter FUNCTION dbo.GetDelimitedString 
    (   
        @CamelCaseString nvarchar(max) 
    )
    RETURNS NVARCHAR(MAX)
    AS
    BEGIN
        DECLARE @Result_String nvarchar(max)
        Select @Result_String = @CamelCaseString
    
        DECLARE @pos INT
        DECLARE @DelimiterCount INT
        Select @Pos = 2
        Select @DelimiterCount = 0        
    
        WHILE @pos <= DATALENGTH(@CamelCaseString)
        BEGIN
            IF ASCII(SUBSTRING(@CamelCaseString, @pos, 1)) BETWEEN 65 AND 90
    
            BEGIN
                set @Result_String = STUFF(@Result_String,@Pos + @DelimiterCount,0,',')
                Set @DelimiterCount = @DelimiterCount + 1
            END
        SET @pos = @pos + 1;
        END
    
        RETURN @RESULT_STRING
    END
    

    select dbo.GetDelimitedString('TestStringInCamelCase')
    
        2
  •  2
  •   gbn    14 年前

    CODE(SUBSTRING (xx, thatpositions, 1)) BETWEEN 64 and 89

    SUBSTRING (xx, 1, thatpositions -1) + delimiter + SUBSTRING (xx, thatpositions, 8000)
    
        3
  •  1
  •   OMG Ponies    14 年前