MySQL中的子字符串

sha*_*nuo 0 mysql sql

我试图在MySQL表中插入一个字符串.但以下不是我要找的.

select substring_index('3|5|6|asdf asd|6|0|NULL', '|', 1) as first,
substring_index('3|5|6|asdf asd|6|0|NULL', '|', 2) as second,
substring_index('3|5|6|asdf asd|6|0|NULL', '|', 3) as third,
substring_index('3|5|6|asdf asd|6|0|NULL', '|', 4) as forth,
substring_index('3|5|6|asdf asd|6|0|NULL', '|', 5) as fifth

+-------+--------+-------+----------------+------------------+
| first | second | third | forth          | fifth            |
+-------+--------+-------+----------------+------------------+
| 3     | 3|5    | 3|5|6 | 3|5|6|asdf asd | 3|5|6|asdf asd|6 | 
+-------+--------+-------+----------------+------------------
Run Code Online (Sandbox Code Playgroud)

+

我希望5作为秒,6作为第三,'asdf asd'作为第四列.在MySQL中有可能吗?

use*_*291 6

substring_index(substring_index('3|5|6|asdf asd|6|0|NULL', '|', 2), '|', -1)
Run Code Online (Sandbox Code Playgroud)

给出5

substring_index(substring_index('3|5|6|asdf asd|6|0|NULL', '|', 3), '|', -1)
Run Code Online (Sandbox Code Playgroud)

给出6

等等

  • +1有关substring_index的文档,请参见http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_substring-index (2认同)