substring_index(str,delim,count) 函数的使用可以截取数据库字段中的待查询部分(中间信息)
函数括号里面的依次为:要分隔截取的字符串(如:”aaa_bbb_ccc”)、分隔符(如:“_”)、位置(表示第几个分隔符处,如:“1”)。
count为正数,那么就是从左边开始数,函数返回第count个分隔符的左侧的字符串;
count为负数,那么就是从右边开始数,函数返回第count个分隔符右边的所有内容;
count可以为0,返回为空。
例子:substring_index("aaa_bbb_ccc","_",1) ,返回为 aaa;
substring_index("aaa_bbb_ccc","_",2) ,返回为 aaa_bbb;
substring_index(substring_index("aaa_bbb_ccc","_",-2),"_",1) ,返回为 bbb;
(数据库中保存的日志内容,可用此函数按固定格式匹配内容并截取中间有效信息,比如操作日志详情中的内容)
例:
数据库记录每次更新拼接“,”和时间毫秒值,界面仅展示最新时间,查询时按照时间段查询,则可以使用语句:
SELECT
id
FROM
xxx_test_t
WHERE
substring_index(data_add_time, "," ,- 1) >= 1588694400000
AND substring_index(data_add_time, "," ,- 1) <= 1588780800000