社区
MySQL
帖子详情
关于mysql的trancate()函授的疑问
mathematician
2004-10-21 03:09:26
SELECT truncate(2139.14,2);
结果为什么是2139.13?应该是2139.14才对吧?
...全文
173
12
打赏
收藏
关于mysql的trancate()函授的疑问
SELECT truncate(2139.14,2); 结果为什么是2139.13?应该是2139.14才对吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mathematician
2004-11-24
打赏
举报
回复
又回来了,提一下!
mathematician
2004-11-19
打赏
举报
回复
up!
mathematician
2004-11-16
打赏
举报
回复
看看这条SQL语句好吗?
select truncate(currency/100000000,8) as currency from tablename;
其中tablename表中字段currency为整型,现在需要将该字段除以100000000后保留8位小数查询出来。
遇到的问题就是:这样查询出来的结果有时候会不正确,请问大家如何解决或者回避这种计算字段的问题?有没有别的函数可以用来实现此种功能吗?
shuixin13
2004-11-15
打赏
举报
回复
呵呵.
mysql> SELECT truncate(2139.12,2);
+---------------------+
| truncate(2139.12,2) |
+---------------------+
| 2139.11 |
+---------------------+
1 row in set (0.00 sec)
此语句中的 2139.12 因为是浮点数.
而浮点数在计算机中是非精确的.
所以可能会出现上面所示的情况
mathematician
2004-11-15
打赏
举报
回复
谢谢bluefiend(<蓝魔之泪>)。
大家看到了,在结果中有部分数据是不正确的,请问应该怎么解决?
gimy007
2004-11-12
打赏
举报
回复
select version();
bluefiend
2004-11-12
打赏
举报
回复
MYSQL 版本 在哪里看啊?
bluefiend
2004-11-12
打赏
举报
回复
mysql> SELECT truncate(2139.10,2);
+---------------------+
| truncate(2139.10,2) |
+---------------------+
| 2139.09 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT truncate(2139.11,2);
+---------------------+
| truncate(2139.11,2) |
+---------------------+
| 2139.11 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT truncate(2139.12,2);
+---------------------+
| truncate(2139.12,2) |
+---------------------+
| 2139.11 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT truncate(2139.13,2);
+---------------------+
| truncate(2139.13,2) |
+---------------------+
| 2139.13 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT truncate(2139.14,2);
+---------------------+
| truncate(2139.14,2) |
+---------------------+
| 2139.13 |
+---------------------+
1 row in set (0.00 sec)
mathematician
2004-11-12
打赏
举报
回复
up!
mathematician
2004-11-10
打赏
举报
回复
我的是4.0,你试验
SELECT truncate(2139.10,2);
SELECT truncate(2139.11,2);
SELECT truncate(2139.12,2);
SELECT truncate(2139.13,2);
SELECT truncate(2139.14,2);
看看结果好吗?
DeltaCat
2004-10-23
打赏
举报
回复
你的 MYSQL 版本多少? 我的 4.20 正常啊, 就是 2139.14
mathematician
2004-10-21
打赏
举报
回复
up
Tran
cat
e-SQL速查手册.chm
包含了
Tran
cat
e-sql里的比较全的语法大全,大家通过他可以快的查找你要的帮助。。。
Trun
cat
e表恢复(无备份情况下)
### Trun
cat
e 表恢复(无备份情况下) #### 概述 在数据库管理中,`TRUN
CAT
E`命令是一种快速清空表数据的方法。与`DELETE`不同的是,`TRUN
CAT
E`不会逐一删除数据行,而是重置数据字典中的元数据信息,使表返回到初始...
delete from 表名与trun
cat
e table 表名区别
在数据库管理中,删除数据是常见的操作,但不同的删除方式有着显著的区别。本文将详细讨论两种常见的删除方式:`DELETE FROM` 和 `TRUN
CAT
E TABLE`,并分析它们各自的特点和适用场景,以便于选择最适合的数据清理...
MySQL
中drop、delete与
tran
cat
e的区别
【代码】
MySQL
中drop、delete与
tran
cat
e的区别。
mysql
TRAN
CAT
E和DELETE的区别
TRAN
CAT
E table:更快,清空物理文件 DELETE FROM table:逻辑删除,按行删除
MySQL
57,065
社区成员
56,760
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章