【问题标题】:Extract words from # separated string in SQL Server从 SQL Server 中的#分隔字符串中提取单词
【发布时间】:2017-09-28 15:59:09
【问题描述】:

我有一个要求,我必须将# 分隔的字符串提取为

Declare @Text nvarchar(255) ='Test1#Test2#Test3#Test4'

Declare @FirstWord  nvarchar(255) 
Decalre @SecondWord nvarchar(255)
  • @FirstWord 将包含“Test1”和
  • @SecondWord 将包含“Test2 Test3 Test4”

【问题讨论】:

标签: sql sql-server database


【解决方案1】:
Declare @Text nvarchar(255) ='Test1#Test2#Test3#Test4'

Declare @FirstWord  nvarchar(255) = left(@Text,(CHARINDEX('#',@Text,1)-1))
Declare @SecondWord nvarchar(255) = replace(right(@Text,len(@Text) - (CHARINDEX('#',@Text,1))),'#', ' ')

select @FirstWord, @SecondWord

【讨论】:

    【解决方案2】:
    DECLARE @TEXT NVARCHAR(255) = 'Test1#Test2#Test3#Test4'
    ,@FirstWord NVARCHAR(255)
    ,@SecondWord NVARCHAR(255)
    ,@index INT
    ,@LEN INT
    
    SET @LEN = (
        SELECT LEN(@TEXT)
        )
    
    SELECT @index = (
        SELECT CHARINDEX('#', @TEXT, 1)
        )
    
    SET @FirstWord = (
        SELECT left(@TEXT, @index - 1)
        )
    SET @SecondWord = REPLACE(RIGHT(@TEXT, @LEN - @index), '#', ' ')
    
    SELECT @FirstWord AS FirstWord
    ,@SecondWord AS SecondWord
    

    【讨论】:

      猜你喜欢
      • 2021-11-22
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 2019-10-18
      • 2021-02-12
      • 2015-01-29
      • 2019-08-10
      • 1970-01-01
      相关资源
      最近更新 更多