SQL Server CharIndex,Replace和SubString的综合运用

来源:互联网 发布:淘宝感谢卡内容简短 编辑:程序博客网 时间:2024/06/05 23:04

     CharIndex函数的单独用法:

   

     结果:

    

    返回的是 ‘、’在这个字符串中所处的位置,从1开始的第几位

    SubString函数的用法:

   

    结果:

   

    返回的是字符串从0开始到4的位置

    Replace函数的用法:

   

    结果:

   

    返回的内容是将字符串 '文件1、文件2、文件3' 中的 ‘文件1、’ 用 '' 替换之后的结果

    SubString 和 CharIndex的综合运用

  

   结果:

  

    Replace、SubString 和 CharIndex的综合运用

  

    结果:

   

     最后附上一篇 SQL ----  将传入的字符串拆分,插入到临时表中,并输出

     CREATE PROCEDURE [dbo].[LO_P_Split] ( @String VARCHAR(500) )
 AS
    DECLARE @temp VARCHAR(255)    
    BEGIN    
        SET NOCOUNT ON
    
        CREATE TABLE #TEMP
            (
              ID INT IDENTITY(1, 1) ,
              Name VARCHAR(255) ,
            )
 
      
        SET @temp = @String
                --将owner的a,b格式拆解为 key value          
        WHILE CHARINDEX('、', @temp) > 0
       
            BEGIN    
            
                INSERT  INTO #TEMP
                VALUES  ( ( SELECT  SUBSTRING(@temp, 0,
                                              ( SELECT  CHARINDEX('、', @temp)
                                              ))
                          ) )
                SET @temp = ( SELECT    REPLACE(@temp,
                                                ( SELECT    SUBSTRING(@temp, 0,
                                                              ( SELECT
                                                              CHARINDEX('、',
                                                              @temp) + 1
                                                              ))
                                                ), '')
                            )
                                                                          
            END    
        INSERT  INTO #TEMP
        VALUES  ( @temp )
        SELECT  *
        FROM    #TEMP
             
    END    
    
-- EXEC  [LO_P_Split] '文件1、文件2、文件3'
    结果:
  


   

0 0