当前位置: 代码迷 >> Sql Server >> 字符串分割储存
  详细解决方案

字符串分割储存

热度:83   发布时间:2016-04-24 09:13:20.0
字符串分割存储
问题描述:
SQL Server 2005
在得到一个数据传入的时候,希望能够按照分隔符分割其数据,去掉其中一个数据
比如:传入的参数为字符串  XX_YY_ZZ_L123
那么我希望得到的数据是 XX_YY_ZZ
去掉的部分为最后面的那个(具体几个分隔符不固定),且规则为字母+数字 A1,B23,C876等(不能判断也无妨,可以的话就更好了~~)
希望这么做的原因是:传入的是一个小类,然后可以根据这个小类去掉后面的分类符号(字符+数字)来得到一个大类的字符串。
SQL貌似没有内置函数SPLIT(),对SQL语法也不是很熟悉,只会基础的语法。
万分感谢。

CREATE PROCEDURE [dbo].[insert_data]
@Test_Line  varchar(50)
AS

SET NOCOUNT ON
DECLARE @Test  VARCHAR(50)

        -- 如何根据 @Test_Line 来获取 @Test

-- 插入操作
        ......

------解决思路----------------------
你要的是把最后一个_后面的数据去掉?
------解决思路----------------------
-- 如何根据 @Test_Line 来获取 @Test
SET @Test_Line = REVERSE(@Test_Line)
SET @Test = SUBSTRING(@Test_Line, CHARINDEX('_',@Test_Line)+1,50)
SET @Test = REVERSE(@Test)
  相关解决方案