SQL Server String Manipulation,将列值拆分为2个单独的值

时间:2016-10-26 15:57:41

标签: sql sql-server string data-manipulation

我正在使用SQL Server 2014 ....

Select testvalue from testtable 

返回

[000001][xXCEWkC+WDhe7EYo6feDmQ==]mnjQ3UkMjb1swK1wCTT75Q==

如何将此值拆分为2个不同的值?

  1. 第二个括号中的值
  2. 第二组括号后的值

2 个答案:

答案 0 :(得分:1)

SQL Server

select      right(testvalue,charindex(']',reverse(testvalue))-1)                                                            as col_1_option_a
           ,right(testvalue,len(testvalue)-patindex('%][^[]%',testvalue))                                                   as col_1_option_b
           ,right(left(testvalue,patindex('%][^[]%',testvalue)-1),patindex('%][^[]%',testvalue)-charindex(']',testvalue)-2) as col_2

from        testtable
;

的MySQL

select  substring_index(substring_index(testvalue ,'[',-1),']',1)
       ,substring_index(testvalue ,']',-1)

from    testtable
;

答案 1 :(得分:0)

如果您使用的是MySQL,则可以使用子串找到

SELECT SUBSTR(testvalue,
1,LOCATE("]",testvalue,LOCATE("]",testvalue)+1)) AS column1,
SUBSTR(testvalue,
LOCATE("]",testvalue,LOCATE("]",testvalue)+1)+1) AS column2 FROM testtable