【发布时间】:2018-03-08 09:38:51
【问题描述】:
我有一个表格,我从中提取一些值,一列值可以包含
'FLSD202-D-B-D-AB-C1-NN-A-N-LA-J-NN/UM/H7/SCT'
我想把它们拆分成
FLSD202 AS first column
-D-B-D-AB-C1-NN-A-N-LA-J-NN AS Second column
/UM/H7/SCT AS third column
这是我的脚本,但我无法得到我想要的结果
SELECT 'FLSD202-D-B-D-AB-C1-NN-A-N-LA-J-NN/UM/H7/SCT', SUBSTRING_INDEX(SUBSTRING_INDEX('FLXA202-D-B-D-AB-C1-NN-A-N-LA-J-NN/UM/H7/SCT', '-',1), '-', -1) FirstColumn,
CONCAT('-', SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX('FLSD202-D-B-D-AB-C1-NN-A-N-LA-J-NN/UM/H7/SCT', '/',1), '/', -1), '-',-1)) SecondColumn,
CONCAT('/', SUBSTRING_INDEX(SUBSTRING_INDEX('FLSD202-D-B-D-AB-C1-NN-A-N-LA-J-NN/UM/H7/SCT', '/',3), '/', -1)) ThirdColumn
我想将它用于所有值,而不仅仅是一个字段..
'-'(dash) 是动态的,'/'(slash) 是动态的,例如:
SSS145-SS3/POP, KEEE-CDE0/NO/SA, WXAE-C-D/E/G, SAD-SEU-SFX/OPS
谢谢
【问题讨论】:
-
要实现这一点,您需要制定一个程序。
-
有些任务最好用应用程序代码而不是 SQL 来完成。
-
我同意@RickJames,只需将字符串提取到 Python 或 Ruby 或 PHP 或 任何其他语言 中,任务就变得微不足道了。如果您不喜欢这样做,请不要为应该是单独字符串的数据存储单个字符串。
标签: mysql string indexing split substring