直接将百分率那列乘以001即可(中间需要提取%百分号左侧的有理数,包括使用转换函数强制转换成实数,如双精度浮点数)。
-- 伪码
SELECT percentage001 AS chValue;
-- such as
20%=20001=020
浮点数据类型能带小数又能计算。它包括REAL 数据类型、FLOAT、DECIMAL、NUMERIC
给大家简单分析一下:
1、REAL 数据类型 REAL数据类型可精确到第7 位小数,其范围为从-340E -38 到340E +38。 每个REAL类型的数据的存储空间占用4 个字节。
2、FLOAT FLOAT数据类型可精确到第15 位小数,其范围为从-179E -308 到179E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 存储空间暂用8个字节。
3、DECIMAL DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。 例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。 位表4-3 列出了各精确度所需的字节数之间的关系。
4、NUMERIC NUMERIC数据类型与DECIMAL数据类型以及其模式一样。
select reverse(substring(reverse(字段),0,CHARINDEX('0',reverse(字段)))) from 表名 where 条件
select reverse(substring(reverse('1232312233'),0,CHARINDEX('0',reverse('1232312233
')))) from 表
reverse() 反转
substring() 截取 参数1 表示要截取的字符 参数2 表示从那里截取 参数3 表示截取多少位
charindex() 查找 参数1 表示要查找的字符 参数2 表示从哪个字符串中查找
要截取最后一个点的位置后面的数 由于没有截取最后一个的函数 我们不妨先将字符串反转 从而找到第一个点的位置 截取的时候 我们也反转一下 那么最后得到截取的字符串也是被反转的 所以最后我们也要再反转成我们想要的值
2个建议,
1尽量少用rsupdate等可更新记录集
2把dj,buymoney的类型改成decimal类型,小数点精确到后面2位
应该没有问题
在rsupdate之前使用msgbox 看一下你的SQL
以上就是关于mysql数据库怎样使用sql语句将百分比转换为小数显示全部的内容,包括:mysql数据库怎样使用sql语句将百分比转换为小数显示、SQL哪些数据类型能带小数又能计算的、数据库怎样用sql语句查询字段最后面的小数点后面的数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)