心情不好不想多说,直接复制代码执行看效果或者看注释吧
例子1:
SELECT LENGTH(SUBSTRING_INDEX(1.123456,'.',-1)) ,SUBSTRING_INDEX(1.123456,'.',-1)--注释: 1.123456为你要截取的原数值,SUBSTRING_INDEX函数和length函数请看下面的用法
例子2:
SELECT LENGTH(SUBSTRING_INDEX(amount,'.',-1)) ,SUBSTRING_INDEX(amount,'.',-1) FROM 表名 WHERE LOCATE('.',amount)>0 AND LENGTH(SUBSTRING_INDEX(amount,'.',-1)) >2 --注释: 查询的条件解释 第一个条件 LOCATE('.',amount)>0 查询查询的字段要有小数点(既查询的数据需要有含小数)--注释:第二个条件 LENGTH(SUBSTRING_INDEX(amount,'.',-1)) >2 为只查小数位数大于2的数据,既整个sql 是查询表中 amount 字段有是小数而且小数位数大于两位的数据
函数解释如下:
substring_index() 函数为按照特殊字符截取, 需要注意的是例子上用的特殊字符为’.’,后面的-1为从后面开始的特殊字符出现的次数,如果为1的话则是从头开始到特殊字符的截取,如果不太明白的话,把-1改为1 再执行看看效果
LENGTH() 函数简单的很,就是获取字符串的长度,ps:一个汉字按照不同的数据库编码长度不一样,例如utf-8为一个汉字是3长度
LOCATE(str1,str) 函数,就是检查str字符串中是否有str1的子字符串,如果存在,会返回子字符串在主字符串中的位置,不存在既返回0
MYSQL截取小数部分和获取小数位数 只查询带小数的数据 和substring_index函数用法 LENGTH函数用法