网站大全全部免费,wordpress themes free,百度手机助手下载安卓版,网站广告图做多大定义和用法
SUBSTRING_INDEX()函数在指定数量的分隔符出现之前返回字符串的子字符串。
语法
SUBSTRING_INDEX(string, delimiter, number)
参数值 参数 描述 string 必须项。原始字符串 delimiter 必须项。要搜索的分隔符 number 必须项。搜索分隔符的次数。可以是正…定义和用法
SUBSTRING_INDEX()函数在指定数量的分隔符出现之前返回字符串的子字符串。
语法
SUBSTRING_INDEX(string, delimiter, number)
参数值 参数 描述 string 必须项。原始字符串 delimiter 必须项。要搜索的分隔符 number 必须项。搜索分隔符的次数。可以是正数或负数。如果是正数则此函数返回分隔符左侧的所有数字。如果是负数则此函数返回分隔符右侧的所有内容。 在查询一个version字段的时候用到过这个函数记录一下。比如某个version_name字段里存储的是11.10.23.2333的varchar类型值想要去查询大于等于11.10.10版本的可以用到这个函数。 SELECT * FROM table_name
WHERE SUBSTRING_INDEX(version_name, ., 1) * 10000 SUBSTRING_INDEX(SUBSTRING_INDEX(version_name, ., 2), ., -1) * 100 SUBSTRING_INDEX(SUBSTRING_INDEX(version_name, ., 3), ., -1) * 1 111010;
解释一下
第一个SUBSTRING_INDEX(version_name, ., 1) * 10000 是指取第一个.分隔符左边的数字也就是11然后乘以10000也就变成了110000第二个SUBSTRING_INDEX(SUBSTRING_INDEX(version_name, ., 2), ., -1) * 100 是指首先通过SUBSTRING_INDEX(version_name, ., 2) 取得第二个.分隔符左侧的也就是11.10然后再通过SUBSTRING_INDEX(11.10,.,-1) 取第一个.分隔符右侧的也就是10最后乘以100加到前面那个数字上。此时也就是11000010*100 111000第三个SUBSTRING_INDEX(SUBSTRING_INDEX(version_name, ., 3), ., -1) * 1 是指首先通过SUBSTRING_INDEX(version_name, ., 3) 取得第三个.分隔符左侧的也就是11.10.23然后再通过SUBSTRING_INDEX(11.10.23,.,-1) 取最后一个.分隔符右侧的也就是23最后乘以1加到前面那个数字上。此时也就是11100023111023