SELECT SUBSTRING('ABC1234', 4)
结果会返回 “1234”,因为大家从第四个字符开始截取了字符串。
但是,如果大家的字符串不是那么规则的呢?比如,字符串是 “ABC-1234″,大家还是想要获取 1234 这个数字。这个时候,大家可以使用 SUBSTRING_INDEX 函数来截取。这个函数比较特殊的地方在于,它可以接受一个特定的分隔符,并且只截取这个分隔符前面或后面的字符串。
SELECT SUBSTRING_INDEX('ABC-1234', '-', -1)
结果同样是 “1234”。大家传入了 “-” 作为分隔符,并且指定了 -1,表示从字符串末尾开始截取。
除了以上两种方式,大家还可以使用正则表达式来截取。MySQL 中可以通过 REGEXP_SUBSTR 函数使用正则表达式截取字符串。
SELECT REGEXP_SUBSTR('ABC-1234', '[[:digit:]]+')
以上正则表达式意味着获取任何数字。结果同样是 “1234”。