社区
MySQL
帖子详情
关于mysql的trancate()函授的疑问
mathematician
2004-10-21 03:09:26
SELECT truncate(2139.14,2);
结果为什么是2139.13?应该是2139.14才对吧?
...全文
172
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`,并分析它们各自的特点和适用场景,以便于选择最适合的数据清理...
Oracle给用户授权trun
cat
etable的实现方案
在Oracle数据库管理中,有时需要为特定用户授权执行`TRUN
CAT
E TABLE`操作,以便他们在自己的职责范围内能够清理数据而不影响其他用户。然而,Oracle不支持直接为用户授予针对单个表的`TRUN
CAT
E`权限,而是通常将更...
MySQL
中drop、delete与
tran
cat
e的区别
【代码】
MySQL
中drop、delete与
tran
cat
e的区别。
MySQL
57,065
社区成员
56,760
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章