重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql中小数点用decimal(x,y)进行存储,
成都创新互联是一家集网站建设,江山企业网站建设,江山品牌网站建设,网站定制,江山网站建设报价,网络营销,网络优化,江山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
示例如下,
1、创建测试表,create table test_decimal(id int, fee_value decimal(20,3));
2、插入测试数据,
insert into test_decimal values(1,12.2);
insert into test_decimal values(3,33.789);
insert into test_decimal values(6666,555.332);
3、查询表中所有记录,select * from test_decimal t;
4、小数转整,可以用floor或round函数,select t.*, floor(fee_value) as fee1, round(fee_value) fee2 from test_decimal t;
什么数据库啊
以sqlserver为例
select len(cast(12.134 as varchar))-charindex('.',cast(12.134 as varchar))
select title , ROUND(click/charge,4)
from table
where date '2007-7-7 00:00:00'
ROUND()是四舍五入
可以在建表的时候限定小数点的长度,例如decimal(5,2),后面的2就是2位的意思。
如果表已经建好,可以在查询语句中用函数 round(X,2) 转换,X为字段,后面的数字为长度,你要几位就填几。
格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法
复制代码代码如下:
SELECT FORMAT(12562.6655,2);
结果:12,562.67
查看文档:Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的。
复制代码代码如下:
mysql SELECT FORMAT(12332.123456, 4);
- '12,332.1235'
mysql SELECT FORMAT(12332.1,4);
- '12,332.1000'
下面的语句即可:
SELECT
*
FROM
你没说表名哦
WHERE
cROUND(c)
原理就是判断这个字段是否和四舍五入以后的结果相同,不同就有小数。你的数据库系统如果说ROUND为未知函数,那你可以查一下相应的手册,看看是不是INT等。