0
一个结果列我有这样一个表:如何分割在多个列
id ip
-- -----------
1 192.168.2.1
,需要得到这样的结果:
id ip A B C D
-- ----------- --- --- --- ---
1 192.168.2.1 192 168 2 1
可行?
一个结果列我有这样一个表:如何分割在多个列
id ip
-- -----------
1 192.168.2.1
,需要得到这样的结果:
id ip A B C D
-- ----------- --- --- --- ---
1 192.168.2.1 192 168 2 1
可行?
SELECT `id`, `ip`,
SUBSTRING_INDEX(`ip` , '.', 1) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX(`ip` , '.', 2),'.',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX(`ip` , '.', -2),'.',1) AS c,
SUBSTRING_INDEX(`ip` , '.', -1) AS d
FROM unicorns
例
SET @ip = '192.168.1.1';
SELECT @ip,
SUBSTRING_INDEX(@ip , '.', 1) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX(@ip , '.', 2),'.',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX(@ip , '.', -2),'.',1) AS c,
SUBSTRING_INDEX(@ip , '.', -1) AS d
结果
| @IP | A | B | C | D | ----------------------------------- | 192.168.1.1 | 192 | 168 | 1 | 1 |
的可能重复的[分手数据转换成在MySQL列](HTTP://计算器。 COM /问题/ 10985085 /分解数据到列中的mysql) – Kermit
看到类似的问题[这里](http://stackoverflow.com/questions/2412895/parse-results-in-mysql-via-regex) – Mike