我想提取NUMBER
和;
之间的数字。到目前为止,我可以将数据提取到数字,但我不想要任何数字后的数据。如,
SELECT
SUBSTRING(field, LOCATE('NUMBER=', rrule) + 7)
FROM table
数据字段:
DATA:PASS=X12;NUMBER=331;FIELD=1
DATA:PASS=X12;NUMBER=2;FOO=BAR;FIELD=1
期望的输出:
331
2
答案 0 :(得分:3)
您可以使用SUBSTRING_INDEX函数的组合:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(field, 'NUMBER=', -1),
';',
1)
FROM
tablename
内部SUBSTRING_INDEX将返回NUMBER =字符串后的所有内容,而第二个将返回之前的所有内容;由内部函数返回。