-
DB2
函数大全
函数名
函数解释
函数举例
AVG()
返回一组数值的平均值
.
SELECTAVG(SALARY)FROMBSEMPM
S;
CORR(),CORRELATION()
返回一对数值的关系系数
.
SELECTCORRELATION(SALARY,BO
NUS)FROMBSEMPMS;
COUNT()
返回一组行或值的个数
.
SELECTCOUNT(*)FROMBSEMPMS;
COVAR(),COVARIANCE()
返回一对数值的协方差
.
SELECTCOVAR(SALARY,BONUS)FR
OMBSEMPMS;
MAX()
返回一组数值中的最大值
.
SELECTMAX(SALARY)FROMBSEMPM
S;
MIN()
返回一组数值中的最小值
.
SELECTMIN(SALARY)FROMBSEMPM
S;
STDDEV()
返回一组数值的标准偏差
.
SELECTSTDDEV(SALARY)FROMBSE
MPMS;
SUM()
返回一组数据的和
.
SELECTSUM(SALARY)FROMBSEMPM
S;
VAR(),VARIANCE()
返回一组数值的方差
.
SELECTVARIANCE(SALARY)FROMB
SEMPMS;
ABS(),ABSVAL()
返回参数的绝对值
.
SELECTABS(-3.4)FROMBSEMPMS;
ACOS()
返回参数的反余弦值
.
SELECTACOS(0.9)FROMBSEMPMS;
ASCII()
< br>返回整数参数最左边的字符的
ASCII
码
.
SELECTASCII('R')FROMBSEMPMS;
ASIN()
返回用弧度表示的角度的参数的反正弦函数
.
SELECTASIN(0.9)FROMBSEMPMS;
ATAN()
返回参数的反正切值
,
该参数用弧度表示的角度的参数
p>
.
SELECTATAN(0.9)FROMBSEMPMS;
ATAN2()
< br>返回用弧度表示的角度的
X
和
Y
坐标的反正切值
.
SELECTATAN2(0.5,0.9)FROMBSE
MPMS;
BIGINT()
返回整型常量中的数字或字符串的
6
4
位整数表示
.
SELECTBIGINT(EMP_NO)FROMBSE
MPMS;
CEILING() OR
CEIL()
返回比参数大或等于
参数的最小的整数值
.
SELECTCEILING(3.56)FROMBSEMPMS;
SELECTCEIL(4.67)FROMBSEMPMS;
CHAR()
返回日期时间型
,
字符串
,
整数
,
十进制或双精度浮点数的字符串表示<
/p>
.
SELE
CTCHAR(SALARY,',')FROMBSEMPMS;
CHR()
返回具有由参数指定的
ASCII
码的字符
< br>.
SELECTCHAR(167)FROMBSEMPMS;
CONCAT()
返回两个字符串的连接
.
SELECTCONCAT(EMP_NO,EMP_NAM
)FROMBSEMPMS;
YEAR()
返回数值的年部分
.
SELECTYEAR('2003/01/02')FRO
MBSEMPMS;
VARCHAR()
返回字符串
,
日期型
,
p>
图形串的可变长度的字符串表示
.
SELECTVARCHAR(EMP_NAM,50)FR
OMBSEMPMS;
UCASE() OR
UPPER()
返回字符串的大写
.
SELECT
UCASE(EMP_NAM)FROMBSEMPMS;
SELECTUPPER(EMP_NO)FROMBSEM
PMS;
1 / 9
TRUNCATE() OR TRUNC()
从表达式小数点右边的位置开始截断并返回该数值
.
SELECTTR
UNCATE(345.6789,2)FROMBSEMPMS;
TIME()
返回一个数值中的时间
.
SELECTTIME('2001-03-19.12.3
0.123456')FROMBSEMPMS;
SUBSTR
(EXP1,EXP2)
返回
EXP1
串自
EXP2
处开始的
子串
.
SELECT
SUBSTR('CDNJFDJFJD',5)FROM
BSEMPMS;
SELECT
SUBSTR('CDNJFDJFJD',5,2)FROM
BSEMPMS;
SQRT()
返回该参数的平方根
.
SELECTSQRT(36)FROMBSEMPMS;
SPACE()
< br>返回由参数指定的长度
,
包含空格在内的字符串
.
SELECTSPACE(10)FROMBSEMPMS;
SECOND()
返回一个数值的秒部分
.
SELECTSECOND('18:34:32')FRO
MBSEMPMS;
RTRIM
()
删除字符串尾部的空格
.
SELECTRTRIM('COMMENT')FROMB
SEMPMS;
ROUND(EXP1,EXP2)
返回
EXP1
小数点右边的第
EXP2
位置处开始的四舍五入
值
.
SELECTROU
ND(2345.6789,2)FROMBSEMPMS
REPLACE(EXP1,EXP2,EXP3)
用
EXP3
替代
EXP1
中所有的
EXP2
SELECTCHAR(REPLACE
('ROMANDD','NDD','CCB'),10)FROMBSEMPMS;
REPEAT(EXP1,EXP2)
返回
EXP1
重复
EXP2
次后的字符串
.
SELECTCHAR(REPEAT(
'REPEAT',3),21)FROMBSEMPMS;
REAL()
返回一个数值的单精度浮点数表示
.
SELECTREAL(10)FROMBSEMPMS;
RAND
()
返回
0
和<
/p>
1
之间的随机浮点数
.
< br>
SELECTRAND()FROMBSEMPMS;
POWER(EXP1,EXP2)
返回
EXP1
的
EXP2
次幂
.
SELECTPOWER(2,5)FROMBSEMPMS;
POSSTR
(EXP1,EXP2)
返回
EXP2
在
EXP1
中的位置
.
SELECT('ABCDEFGH','D'
)FROMBSEMPMS;
NULLIF
(EXP1,EXP2)
如果
EXP1=EXP2,
则为
NULL,
否则为
EXP1
NODENUMBER()
返回行的分区号
.
SELECTNODENUMBER(EMP_NO)FRO
MBSEMPMS;
MONTH()
返回一个数值的月部分
.
SELECTMONTH('2003/10/20')FR
OMBSEMPMS;
MOD(EXP1,EXP2)
<
/p>
返回
EXP1
除以
EXP2
的余数
.
SELECTMOD(20,8)FROMBSEMPMS;
MINUTE()
返回一个数值的分钟部分
.
SELECTMINUTE('18:34:23')FRO
MBSEMPMS;
LTRIM()
删除字符串前面的空格
.
SELECTLTRIM('CDDD')FROMBSEM
PMS;
HOUR()
返回一个数值的小时部分
.
SELECTHOUR('18:34:23')FROMB
SEMPMS;
DOUBLE()
如果参数是一个数字表达式
,
返回与其相对应的浮点数
,
如果参数是
字符串表达式
,
则返回该数的字符串表达式<
/p>
.
SELE
CTDOUBLE('5678')FROMBSEMPMS;
EXP()
返回参数的指数函数
.
SELECTEXP(2)FROMBSEMPMS;
2 / 9
FLOAT()
返回一个数的浮点表示
.
SELECTFLOAT(789)FROMBSEMPMS;
FLOOR()
返回小于或等于参数的最大整数
.
SLECTFLOOR(88.93)FROMBSEMPM
S;
HEX()
返回一个表示为字符串的值的
16<
/p>
进制表示
.
SELECTHEX(16)FROMBSEMPMS;
3 / 9
因为没有更好的术语,所以您还可以使用英语来执
行日期和时间计算:
current date + 1 YEAR
current date + 3 YEARS + 2 MONTHS + 15
DAYS
current time + 5 HOURS
- 3 MINUTES + 10 SECONDS
要计算两个日期之间的天数,您可以对日期作减法,如下所示:
days (current
date) - days (date('1999-10-22'))
而以下示例描述了如何获得微秒部分归零的当前时间戳记:
CURRENT
TIMESTAMP - MICROSECOND (current timestamp)
MICROSECONDS
如果
想将日期或时间值与其它文本相衔接,
那么需要先将该值转换成字符串。
为此,
只要使用
CHAR()
函数:
char(current date)
char(current time)
char(current date + 12 hours)
要将字符串转换成日期或时间值,可以使用:
TIMESTAMP
('2002-10-20-12.00.00.000000')
TIMESTAMP ('2002-10-20 12:00:00')
DATE ('2002-10-20')
DATE ('10/20/2002')
TIME ('12:00:00')
TIME ('12.00.00')
如果你
想将当前日期格式转化成定制的格式(比如
‘yyyymmdd’
)
,那又该如何去做
呢?按照我的经验,最好的办法就是编写
一个自己定制的格式化函数。
下面是这个
UDF
的代码
:
create function ts_fmt(TS timestamp,
fmt varchar(20))
returns
varchar(50)
return
with tmp
(dd,mm,yyyy,hh,mi,ss,nnnnnn) as
(
select
substr( digits
(day(TS)),9),
substr(
digits (month(TS)),9) ,
4 /
9
-
-
-
-
-
-
-
-
-
上一篇:Unix_Command详解
下一篇:(整理)商标术语英文.