设为首页 加入收藏

TOP

DB2数值函数简介及使用(三)
2014-11-23 22:04:55 来源: 作者: 【 】 浏览:47
Tags:DB2 数值函数 简介 使用
. :点号,小数点标志。
db2 => values to_number('123.001') + 0.01
1
------------------------------------------
123.011
db2 => values to_number('123.456','000.000')
1
------------------------------------------
123.456
db2 => values to_number('123.456','000.000')
1
------------------------------------------
123.456
db2 => values to_number('987.123','999.999MI')
1
------------------------------------------
987.123
db2 => values to_number('<123.456>','000.000PR')
1
------------------------------------------
-123.456
db2 => values to_number('$123,456.78','$000,000.00')
1
------------------------------------------
123456.78
9、数值截取函数:trunc(m,n)或者truncate(m,n)
参数:m为数值型,整数或者浮点数;
n为截取长度,当n大于0,则截取小数部分,当小于0,则截取整数部分
返回值:对于指定数值m,截取n个长度的值。
db2 => values (trunc(873.726,2),trunc(873.726,1),trunc(873.726,0))
您想执行以上命令吗?(y/n) y
1 2 3
-------- -------- --------
873.720 873.700 873.000
1 条记录已选择。
db2 => values (trunc(873.726,-1),trunc(873.726,-2),trunc(873.726,2),trunc(873.726,-3))
您想执行以上命令吗?(y/n) y
1 2 3 4
-------- -------- -------- --------
870.000 800.000 873.720 0.000
1 条记录已选择。
10、转换为浮点数:decfloat(m,16|34)
参数:m可以是数值型,也可以是字符串(有数值组成的字符串,如'123.98')
返回值:将m转换为长度为16或者34的浮点数,默认为34.
db2 => values (decfloat(123.45),decfloat('-123.45',16)+10)
1 2
------------------------------------------ ------------------------
123.45 -113.45
1 条记录已选择。
11、数值比较函数:compare_defloat(a,b)
参数:两个参数都是decfloat(34)类型的浮点数,否则将会被自动转换为decfloat(34)。
返回值:
0: a=b
1: a
2: a>b
3: a和b没有直接顺序关系
db2 => values (compare_decfloat(decfloat(1.5),decfloat(1.5)),
compare_decfloat(decfloat(1.5),decfloat(1.50)))
1 2
------ ------
0 2
1 条记录已选择。
db2 => values (compare_decfloat(decfloat(1.770),decfloat(1.77)),compare_
decfloat(decfloat(NaN),decfloat(1.2)))
1 2
------ ------
1 3
1 条记录已选择。
官网上有下面这个实例:
COMPARE_DECFLOAT(DECFLOAT(2.17), DECFLOAT(2.17)) = 0
COMPARE_DECFLOAT(DECFLOAT(2.17), DECFLOAT(2.170)) = 2
COMPARE_DECFLOAT(DECFLOAT(2.170), DECFLOAT(2.17)) = 1
COMPARE_DECFLOAT(DECFLOAT(2.17), DECFLOAT(0.0)) = 2
COMPARE_DECFLOAT(INFINITY,INFINITY) = 0
COMPARE_DECFLOAT(INFINITY,-INFINITY) = 2
COMPARE_DECFLOAT(DECFLOAT(-2),INFINITY) = 1
COMPARE_DECFLOAT(NAN,NAN) = 3
COMPARE_DECFLOAT(DECFLOAT(-0.1),SNAN) = 3
12、normalize_decfloat(decfloat_number)
参数:能够转换为decfloat(16)的smallint,integer,real,double,
或者decimal(p,s)(p<=16)类型;
bigint或者decimal(p,s)(p>16)的将会被转换为decfloat(34)。
返回值:将一个数值转换为一个小数乘以10的n次幂的形式,
如1200转换为1.2E3。
db2 => values (normalize_decfloat(decfloat(-1200)),normalize_
decfloat(decfloat(1.2000)))
1 2
------------------------------------------ ------------------------------------------
-1.2E+3 1.2
1 条记录已选择。
官网上有下面
首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇db2备份表的sql 下一篇DB2序列简介及使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: