db2函数详解.docx
- 文档编号:6649328
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:48
- 大小:38.65KB
db2函数详解.docx
《db2函数详解.docx》由会员分享,可在线阅读,更多相关《db2函数详解.docx(48页珍藏版)》请在冰豆网上搜索。
db2函数详解
DB2常用函数
1、AVG返回平均值1
2、COUNT2
3、COUNT_BIG3
4、MAX4
5、MIN5
6、SUM6
7、ABS或ABSVAL7
8、APPLICATION_ID8
9、ASCII9
10、BIGINT10
11、BLOB11
12、CEILINGorCEIL12
13、CHAR13
14、CHARACTER_LENGTH14
15、CHR15
16、CLOB16
17、COALESCE17
18、CONCAT18
19、DATE19
20、DAY20
21、DAYOFWEEK21
22、DAYOFWEEK_ISO22
23、DAYOFYEAR23
24、DAYS24
25、DBCLOB25
26、DECIMAL26
27、DECRYPT_BINandDECRYPT_CHAR27
28、DIGITS28
29、DOUBLE29
30、ENCRYPT30
31、EVENT_MON_STATE31
32、FLOAT32
33、FLOOR33
34、GENERATE_UNIQUE34
35、GETHINT35
36、GRAPHIC36
37、HEX37
38、HOUR38
39、IDENTITY_VAL_LOCAL39
40、INSERT40
41、INTEGER41
42、JULIAN_DAY42
43、LCASE43
44、LCASEorLOWER44
45、LEFT45
46、LENGTH46
47、LOCATE47
48、LONG_VARCHAR48
49、LONG_VARGRAPHIC49
50、LTRIM(SYSFUN模式)50
51、LTRIM51
52、MICROSECOND52
53、MIDNIGHT_SECONDS53
54、MINUTE54
55、MOD55
56、MONTH56
57、MULTIPLY_ALT57
58、NULLIF58
59、OCTET_LENGTH59
60、POSITION60
61、POSSTR61
62、POWER62
63、QUARTER63
64、RAND64
65、REAL65
66、REPEAT66
67、REPLACE67
68、RIGHT68
69、ROUND69
70、RTRIM(SYSFUN模式)70
71、RTRIM(SYSIBM模式)71
72、SECOND72
73、SIGN73
74、SMALLINT74
75、SPACE75
76、SQRT76
77、STRIP77
78、SUBSTR78
79、SUBSTRING79
80、TIME80
81、TIMESTAMP81
82、TIMESTAMP_FORMAT82
83、TIMESTAMP_ISO83
84、TIMESTAMPDIFF84
85、TO_CHAR85
86、TO_DATE86
87、TRIM87
88、TRUNCATEorTRUNC88
89、UCASEorUPPER89
90、VALUE90
91、VARCHAR91
92、VARCHAR_FORMAT92
93、WEEK93
94、WEEK_ISO94
95、YEAR95
1、AVG返回平均值
语法:
.-ALL------.
>>-AVG--(--+----------+--expression--)-------------------------><
'-DISTINCT-'
说明:
此函数,用于返回所查列的平均值,返回值类型跟原有字段类型相同,如果所求字段为integer类型,则返回平均值的整数部分。
如果所查记录中有空值null,则不计算该条数(如:
所查字段有十条记录,其中有一条此字段为null,则只求9个字段的平均值);可以使用distinct,平均值是去掉重复行后求平均值。
例:
SELECTAVG(PRSTAFF)
INTO:
AVERAGE
FROMPROJECT
WHEREDEPTNO='D11'
SELECTAVG(DISTINCTPRSTAFF)
INTO:
ANY_CALC
FROMPROJECT
WHEREDEPTNO='D11'
2、COUNT
.-ALL------.
>>-COUNT--(--+-+----------+--expression-+--)-------------------><
|'-DISTINCT-'|
'-*------------------------'
返回结果行数,通常用*,所有行总数
如果指定具体字段,count(字段名),这个字段如果是integer,则为null值的行,不记录行数;
可以使用distinct,则计算去掉重复行后的记录行数,此时,指定的字段类型不能是:
LONGVARCHAR,LONGVARGRAPHIC,BLOB,CLOB,DBCLOB,DATALINK,XML,返回的值,同样不记录有null的行数
如果使用all参数,则指定的字段值也不记录null行数
例:
SELECTCOUNT(*)
INTO:
FEMALE
FROMEMPLOYEE
WHERESEX='F'
SELECTCOUNT(DISTINCTWORKDEPT)
INTO:
FEMALE_IN_DEPT
FROMEMPLOYEE
WHERESEX='F'
3、COUNT_BIG
.-ALL------.
>>-COUNT_BIG--(--+-+----------+--expression-+--)---------------><
|'-DISTINCT-'|
'-*------------------------'
COUNT_BIG的用法与COUNT函数类似。
两个函数唯一的差别是它们的返回值。
COUNT_BIG始终返回bigint数据类型值。
COUNT始终返回int数据类型值
返回结果行数,通常用*,所有行总数
如果指定具体字段,count(字段名),这个字段如果是integer,则为null值的行,不记录行数;
可以使用distinct,则计算去掉重复行后的记录行数,此时,指定的字段类型不能是:
LONGVARCHAR,LONGVARGRAPHIC,BLOB,CLOB,DBCLOB,DATALINK,XML,返回的值,同样不记录有null的行数
如果使用all参数,则指定的字段值也不记录null行数
4、MAX
.-ALL------.
>>-MAX--(--+----------+--expression--)-------------------------><
'-DISTINCT-'
返回最大值,其所查字段类型要求为内置类型,不能是LONGVARCHAR,LONGVARGRAPHIC,BLOB,CLOB,DBCLOB,DATALINK
例:
SELECTMAX(SALARY)/12
INTO:
MAX_SALARY
FROMEMPLOYEE
5、MIN
.-ALL------.
>>-MIN--(--+----------+--expression--)-------------------------><
'-DISTINCT-'
返回最小值,其所查字段类型要求为内置类型,但不能是LONGVARCHAR,LONGVARGRAPHIC,BLOB,CLOB,DBCLOB,DATALINK
例:
SELECTMAX(COMM)-MIN(COMM)
INTO:
COMM_SPREAD
FROMEMPLOYEE
WHEREWORKDEPT='D11'
6、SUM
.-ALL------.
>>-SUM--(--+----------+--expression--)-------------------------><
'-DISTINCT-'
求和运算,参数类型要求内置数值类型。
例:
SELECTSUM(BONUS)
INTO:
JOB_BONUS
FROMEMPLOYEE
WHEREJOB='CLERK'
7、ABS或ABSVAL
>>-+-ABS----+--(--expression--)--------------------------------><
'-ABSVAL-'
返回绝对值,参数类型要求为内置数值类型
8、APPLICATION_ID
>>-APPLICATION_ID--(--)----------------------------------------><
返回当前应用连接信息,如(172.20.50.68.43274.090326055156)
例:
SELECTAPPLICATION_ID()ASAPPL_IDFROMSYSIBM.SYSDUMMY1
9、ASCII
>>-ASCII--(--expression--)-------------------------------------><
返回字符串最左边的字符的ASCII,如果参数类型为graphicstring,转换成characterstring进行处理,对于varchar,最大长度限制为4000byte;clob最大长度限制为1048576bytes;longvarchar类型先转换成clob处理
返回结果始终为integer
10、CHR
>>-CHR--(--expression--)---------------------------------------><
功能:
返回参数指定的ASCII的字符
11、BIGINT
>>-BIGINT--(--+-numeric-expression---+--)----------------------><
+-character-expression-+
'-datetime-expression--'
将参数转换成64bitinteger类型,参数可以是内置数值类型、character、datetime。
numeric-expression
内置数值类型,如果带有小数部分的数字类型(如decimal),则返回值会去掉小数部分。
character-expression
要求由阿拉伯数字组成的字符串,中间不能有空串,才能转换
datetime-expression
DATE返回格式为yyyymmdd
TIME返回格式为hhmmss0
TIMESTAMP返回格式为yyyymmddhhmmss
12、CEILINGorCEIL
>>-+-CEILING-+--(--expression--)-------------------------------><
'-CEIL----'
返回大于或等于expression的最小整数,参数要求为内置数值类型
例:
Values(ceiling(213.4))返回:
214
13、FLOOR
>>-FLOOR--(--expression--)-------------------------------------><
功能:
返回小于或等于expression的最大整数。
参数:
要求为内置数字类型。
例:
values(floor(3.5))返回:
3
values(floor(-4.5))返回:
-5
14、CHAR
CharactertoCharacter:
>>-CHAR--(--character-expression--+------------+--)------------><
'-,--integer-'
DatetimetoCharacter:
>>-CHAR--(--datetime-expression--+--------------+--)-----------><
'-,--+-ISO---+-'
+-USA---+
+-EUR---+
+-JIS---+
'-LOCAL-'
IntegertoCharacter:
>>-CHAR--(--integer-expression--)------------------------------><
DecimaltoCharacter:
>>-CHAR--(--decimal-expression--+----------------------+--)----><
'-,--decimal-character-'
Floating-pointtoCharacter:
>>-CHAR--(--floating-point-expression--------------------------->
>--+----------------------+--)---------------------------------><
'-,--decimal-character-'
有五种不同类型转换成character类型:
character、datetime、integer、decimal、floating-point
到character转换,如果指定长度,则按固定长度截取字符,不够长,则在右边补空格。
(参数为CHAR,VARCHAR,LONGVARCHAR,orCLOB类型)
datetime到character转换,参数类型可为:
date,time,ortimestamp可支持时间标准:
ISO、USA、EUR、JIS、LOCAL。
integer到character转换,参数类型可为:
SMALLINT,INTEGER,orBIGINT
smallint返回6位长字符串,integer返回11位长字符串,bigint返回20位长字符串,不够长就在右边补空格。
decimal到character转换,转换过程中,如字段字义类似decimal(5,5),则转换过程中,整数部分的0则不转换,位数不够,则在右边补0。
floating-point到character,参数类型可为DOUBLEorREAL,转换成以科学记数法显示字符,并且长度固定为24位(char(24)),不够24位,则在右边补空格
例55,则显示5.5E1
15、CHARACTER_LENGTH
>>-+-CHARACTER_LENGTH-+----------------------------------------->
'-CHAR_LENGTH------'
>--(--expression--+-USING--+-CODEUNITS16-+-+--)----------------><
|+-CODEUNITS32-+|
|'-OCTETS------'|
'-,--+-CODEUNITS16-+-----'
+-CODEUNITS32-+
'-OCTETS------'
功能:
返回指定字符串的长度,要求指定字符串是内置characterorgraphicstring.
注:
此函数与length功能类似,区别是length可以求数值类型、时间、和binary串
16、LENGTH
>>-LENGTH--(--expression--+--------------------+--)------------><
'-,--+-CODEUNITS16-+-'
+-CODEUNITS32-+
'-OCTETS------'
功能:
返回指定参数固有或分配的长度;具体字符串长度,跟数据库的编码方式有关,CODEUNITS16,CODEUNITS32,orOCTETS
参数:
为内置类型。
下面是不同类型返回长度:
∙2forsmallinteger
∙4forlargeinteger
∙(p/2)+1fordecimalnumberswithprecisionp
∙Thelengthofthestringforbinarystrings
∙Thelengthofthestringforcharacterstrings
∙4forsingle-precisionfloating-point
∙8fordouble-precisionfloating-point
∙4fordate
∙3fortime
∙10fortimestamp
17、CLOB
>>-CLOB--(--character-string-expression--+------------+--)-----><
'-,--integer-'
将字符串类型转换成CLOB类型,转换过程中,如果指定截取长度,则截取左边指定长度的字符串不够则按实际长度算,如果未指定长度,则都按实际长度算。
在Unicodedatabase数据库中,如果为graphicstring,则先转换成characterstring,再执行函数。
18、COALESCE
.---------------.
(1)V|
>>-COALESCE-------(--expression----,--expression-+--)----------><
功能:
如果第一个参数为null,则返回第二个参数值,否则返回第一个参数值,要求两个参数类型一至。
例:
SELECTDEPTNO,DEPTNAME,COALESCE(MGRNO,'ABSENT'),ADMRDEPT
FROMDEPARTMENT
19、NULLIF
>>-NULLIF--(--expression--,--expression--)---------------------><
功能:
判断两个参数是否相等,如果相等,则返回null,否则返回第一个参数值
参数:
要求两参数存在可比性,要求为内置类型数据(除了longstringorDATALINK类型数据外)
例:
values(nullif('fff','fff'))返回:
null
values(nullif(1232,4332))返回:
1232
20、VALUE
>>-VALUE--(--expression----,expression-+--)--------------------><
功能:
判断第一个参数是否为null,如果不为null,则返回第一个参数值,如果为null,则返回第二个参数值。
参数:
要求两个参数为字符串
注:
跟COALESCE函数功能相似。
例:
values(value('dfsf','dbe'))返回:
dfsf
21、BLOB
>>-BLOB--(--string-expression--+------------+--)---------------><
'-,--integer-'
功能:
将characterstring,graphicstring,orabinarystring类型串转换成blob类型;转换过程中,可以指定要转换的长度,如果未指定,则按实际长度输出。
例:
values(blob('132',2)),结果为13
22、GRAPHIC
GraphictoGraphic:
>>-GRAPHIC--(--graphic-expression--+------------+--)-----------><
'-,--integer-'
CharactertoGraphic:
>>-GRAPHIC--(--character-expression--)-------------------------><
DatetimetoGraphic:
>>-GRAPHIC--(--datetime-expression--+--------------+--)--------><
'-,--+-ISO---+-'
+-USA---+
+-EUR---+
+-JIS---+
'-LOCAL-'
功能:
将指定参数转换成graphic类型,参数分三种类型
ØGraphictoGraphic:
graphic-expression参数类型为graphic,integer为指定返回长度,长度不够,则在右边补空格
例:
values(GRAPHIC(GRAPHIC('130xddd'),2)),返回13
CharactertoGraphic:
将character、LONGVARCHARorCLOB 类型数据转换成graphic,LONGVARCHARorCLOB类型最大长度不能超过16336bytes,返回长度跟参数长度相同。
此转换,不能指定截取长度。
ØDatetimetoGraphic:
将三种时间类型(date、time、timestamp)转换成graphic,注意,此转换只能在Unicodedatabase数据库中进行。
三种转换,都有缺省长度
Date:
返回长度为10
Time:
返回长度为8
Timestamp:
返回长度为26
例:
values(graphic(currentdate))返回:
2009-04-02
values(graphic(currenttime))返回:
17.31.18
values(graphic(currenttimestamp))返回:
2009-04-02-17.29.04.584613
23、HEX
>>-HEX--(--expression--)---------------------------------------><
功能:
将数字类型数据转换成十六进制表示的字符串
参数:
要求内制数字类型
例:
values(hex(536))返回:
18020000
24、DATE
>>-DATE--(--expression--)--------------------------------------><
功能:
返回日期
参数类型:
date、timestamp、小于或等于3652059的正数、表示法和date与timestamp相同的字符串、七位阿拉伯数字串(此串不能是:
CLOB,LONGVARCHAR,DBCLOB,orLONGVARGRAPHIC类型)
例1:
参数为date或timestmp
返回当前日期
values(date(curren
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- db2 函数 详解