设为首页 加入收藏

TOP

DB2数值函数简介及使用(二)
2014-11-23 22:04:55 来源: 作者: 【 】 浏览:48
Tags:DB2 数值函数 简介 使用
0.00
12 000140 68420.00
5 条记录已选择。
db2 => select b.* from (select row_number() over () ,a.empno,
a.salary from employee a) b order by rand() fetch first 5 rows only
1 EMPNO SALARY
-------------------- ------ -----------
18 000200 57740.00
13 000150 55280.00
17 000190 50450.00
15 000170 44680.00
33 200010 46500.00
5 条记录已选择。
6、四舍五入:round (m,n)
参数:m表示一个数值数据,整数或者浮点数,正负数都可以,正负数进位都向其ceil()方向。
n表示进位的数目,整数表示处理小数点后面的数,负数表示处理整数部分的数,integer类型。
实例:
db2 => values (round(873.726,2),round(873.726,1),
round(873.726,0),round(873.726,-1),round(873.726,-2),round(873.726,-3))
1 2 3 4 5 6
--------- --------- --------- --------- --------- ---------
873.730 873.700 874.000 870.000 900.000 1000.000
1 条记录已选择。
db2 => values (round(-745.5,-2),round(-745.5,-1))
1 2
------- -------
-700.0 -750.0
1 条记录已选择。
7、将数值转换为字符串形式:digits()函数
参数:smallint,integer,bigint,decimal;
char或者varchar类型的数值字符串,在进行此函数操作之前,
字符串的值隐式转换为decimal(31,6)。
参数可以为null,此时返回值为null。
返回值:返回数值的字符串形式,不足长度的自动在字符前补齐0。
返回固定长度的字符串,若参数为浮点数,小数点后面的也计算在内;
对于不足长度的,在整数的最前端补0,下面是实例。
employee表的结构如下,最后三个字段的长度为9,小数点位数为2:
db2 => describe table employee
数据类型 列
列名 模式 数据类型名称 长 小数位 NULL
------------------------------- --------- ------------------- ---------- ----- ------
EMPNO SYSIBM CHARACTER 6 0 否
FIRSTNME SYSIBM VARCHAR 12 0 否
MIDINIT SYSIBM CHARACTER 1 0 是
LASTNAME SYSIBM VARCHAR 15 0 否
WORKDEPT SYSIBM CHARACTER 3 0 是
PHONENO SYSIBM CHARACTER 4 0 是
HIREDATE SYSIBM DATE 4 0 是
JOB SYSIBM CHARACTER 8 0 是
EDLEVEL SYSIBM SMALLINT 2 0 否
SEX SYSIBM CHARACTER 1 0 是
BIRTHDATE SYSIBM DATE 4 0 是
SALARY SYSIBM DECIMAL 9 2 是
BONUS SYSIBM DECIMAL 9 2 是
COMM SYSIBM DECIMAL 9 2 是
14 条记录已选择。
下面是digits函数的转换情况:
select salary,digits(salary),bonus,digits(bonus),comm,digits(comm)
from employee fetch first 5 rows only
SALARY 2 BONUS 4 COMM 6
----------- --------- ----------- --------- ----------- ---------
152750.00 015275000 1000.00 000100000 4220.00 000422000
94250.00 009425000 800.00 000080000 3300.00 000330000
98250.00 009825000 800.00 000080000 3060.00 000306000
80175.00 008017500 800.00 000080000 3214.00 000321400
72250.00 007225000 500.00 000050000 2580.00 000258000
5 条记录已选择。
8、转换为数值:to_number(string,format)
此函数为decfloat_format的别名。
参数:string为数值型的字符串,如:'-100.1','01234'等。
format为转换后的数值型的呈现格式,有如下形式:
0 or 9:每一个数字代表一个字符。
MI:对于负数,将尾部的负数符号(-)移动到最前头;
对于正数,将在其前面添加一个符号(+)或者空格。
S:如格式MI
PR:将一对尖括号(<>)包含起来的数视为负数,转换后在其前面添加一个负数符号(-)。
$:必须是转换字符串前面包括$符号。
,:逗号,数值分隔符
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇db2备份表的sql 下一篇DB2序列简介及使用

评论

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