`
tonyan416
  • 浏览: 29291 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

truncate()

阅读更多
今天配合测试组做个 表结构的样式书

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

发现了一个sql

SUM(TRUNCATE(IFNULL(CURRENT_SPOT_PL,0)*IFNULL(JPY_EXCHANGE_RATE,1),0)

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

百度下发现

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

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

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 的形式被存储的


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics