如何将由值分隔的mysql列的值拆分为另一列?

时间:2011-05-30 04:01:53

标签: mysql

我有一个包含门牌号和单元号的列。我需要两个不同栏中的门牌号码和单位号码。

单位编号包含在括号内。以下是样本数据:

Column 1           Column 2
85 (Unit A)
85 (Unit B)
86
87 - 89 (Unit A)

所需结果如下:

Column 1          Column 2
85                Unit A)
85                Unit B)
86      
87 - 89           Unit A)

值由'('

分隔

我该怎么做?

修改

UPDATE your_table 
SET column2 = SUBSTRING_INDEX(your_table.column1,'(', -1), 
column1 = SUBSTRING_INDEX(your_table.column1,'(', 1)

此查询的结果如下:

Column 1          Column 2
85                Unit A)
85                Unit B)
86                86
87 - 89           Unit A)

我不需要更新'86'第2列!如果没有'('我怎么做?

,我希望它保持为null

2 个答案:

答案 0 :(得分:4)

供选择,

SELECT  SUBSTRING_INDEX( Col1 , '(', 1 ) AS C1,SUBSTRING_INDEX(SUBSTRING_INDEX( Col1 , '(', 2 ),'(',-1) AS C2  from Tablename

更新

Update TableName set Column1= SUBSTRING_INDEX( Column1 , '(', 1 ) ,Column2= SUBSTRING_INDEX(SUBSTRING_INDEX( Column1 , '(', 2 ),'(',-1) ;

答案 1 :(得分:0)

UPDATE your_table SET column1 = SUBSTRING_INDEX(your_table.column1,'(', 1),  column2 = SUBSTRING_INDEX(your_table.column1,'(', -1)
相关问题