truncate()

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 12:52   11   0
今天配合测试组做个 表结构的样式书

就找一下自己做的课题上的表字段

发现了一个sql

[size=large][b][color=orange]SUM(TRUNCATE(IFNULL(CURRENT_SPOT_PL,0)*IFNULL(JPY_EXCHANGE_RATE,1),0)[/color][/b][/size]

看到了truncate()的函数 找网上小找了一下 没找到这个函数

百度下发现

定义函数:int truncate(const char *path, off_t length);   函数说明:truncate()会将参数path指定的文件大小改为参数length指定的大小。 如果原来的文件大小比参数length大,则超过的部分会被删除

显然不是我要的答案,后来又在网上找了这个函数

[color=red]TRUNCATE(X,D)
将数值 X 截到 D 个小数,然后返回。如果 D 为 0,结果将不包含小数点和小数部分:
mysql> SELECT TRUNCATE(1.223,1);
-> 1.2
mysql> SELECT TRUNCATE(1.999,1);
-> 1.9
mysql> SELECT TRUNCATE(1.999,0);
-> 1
mysql> SELECT TRUNCATE(-1.999,1);
-> -1.9
从 MySQL 3.23.51 开始,所有数字被四舍五入到零。 如果 D 是负数,那么数字的整个部分被对准零位输出:
mysql> SELECT TRUNCATE(122,-2);
-> 100
注意, 十进值小数在计算机中通常不以精确数字存储,而是双精度型的值,你可能会被下列结果所愚弄:
mysql> SELECT TRUNCATE(10.28*100,0);
-> 1027
上面结果的发生是因为 10.28 实际上是以某些像 10.2799999999999999 的形式被存储的[/color]
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP