一、需求
MySQL 查询test_content字段(字符串存储)中存在test_1002:"两位数字"的记录,并返回test_1002:"两位数字"中“两位数字”的具体内容
二、sql
1、使用如下sql,即可满足需求
SELECT
SUBSTRING(
test_content,
LOCATE('"test_1002":', test_content) + 12,
4
) AS test_con,
LOCATE('"test_1002:"', test_content)
FROM
`test`
WHERE LOCATE('"test_1002":', test_content) > 0 ;
2、test表test_content存储
3、sql查询结果,返回test_1002:"两位数字"中“两位数字”
三、总结
使用LOCATE()函数查询定位后,再使用SUBSTRING()对字符串进行截取;
MySQL字符串截取函数主要有:left(), right(), substring(), substring_index() 四种,具体使用到百度即可。
四、实例延伸
按照test_content字符串中倒数第二位、第三位拼接的字符排序
SELECT test_content FROM test ORDER BY SUBSTRING(test_content,LENGTH(test_content)-2,2) DESC;