DB2函数大全:类型转换函数、字符串函数等

DB2函数大全:类型转换函数、字符串函数等
DB2 内置的函数真的是很多,要精通每个函数几乎是不可能的,所以本文并不打算介绍每个函数的具体用法,而是提供一个概览,让您了解每个函数的功能,这样,当你感觉你需要某些功能的函数时,再学习它们的具体用法也不迟。

DB2 内置函数大体分为以下几类:
1.聚合函数
2.类型转换函数
3.数学函数
4.字符串函数
5.日期时间函数
6.XML 函数
7.分区函数
8.安全函数
9.其他
下面我们就了解一下每类都有哪些函数,以及这些函数的功能。

一:聚合函数
二:类型转换函数
DB2为每种数据类型都提供了相应的函数,一般情况下它们之间的相互转换是非常简单的,请看下表:
1.函数功能描述
2.SMALLINT 返回 SMALLINT 类型的值
3.INTEGER 返回 INTEGER 类型的值
4.BIGINT 返回 BIGINT 类型的值
5.DECIMAL 返回 DECIMAL 类型的值
6.REAL 返回 REAL 类型的值
7.DOUBLE 返回 DOUBLE 类型的值
8.FLOAT 返回 FLOAT 类型的值
9.CHAR 返回 CHARACTER 类型的值
10.VARCHAR 返回 VARCHAR 类型的值
11.VARCHAR_FORMAT_BIT 将位字符序列格式化为 VARCHAR 类型返回
12.VARCHAR_BIT_FORMAT 将格式化后位字符序列返回到格式化前
13.LONG_VARCHAR 返回 LONG VARCHAR 类型的值
14.CLOB 返回 CLOB 类型的值
15.GRAPHIC 返回 GRAPHIC 类型的值
16.VARGRAPHIC 返回 VARGRAPHIC 类型的值
17.LONG_VARGRAPHIC 返回 LONG VARGRAPHIC 类型的值
18.DBCLOB 返回 DBCLOB 类型的值
19.BLOB 返回 BLOB 类型的值
20.DATE 返回 DATE 类型的值
21.TIME 返回 TIME 类型的值
22.TIMESTAMP 返回 TIMESTAMP 类型的值
三:数学函数
1.函数功能描述
2.ABS,ABSVAL 返回参数的绝对值
3.SIGN 如果参数大于0则返回1,小于0返回-1,等于0返回0
4.RAND 返回0和1之间的随机浮点数
5.MOD 求余数
6.ROUND 返回参数1小数点右边的第参数2位置处开始的四舍五入值
7.TRUNCATE OR TRUNC 从表达式小数点右边的位置开始截断并返回该数

8.FLOOR 返回小于或等于参数的最大整数
9.CEILING OR CEIL 返回大于或等于参数的最小的整数值
10.POWER 返回参数1的参数2次幂
11.SQRT 返回该参数的平方根
12.DIGITS 返回参数绝对值的字符串表示
13.MULTIPLY_ALT 返回参数的乘积
14.DEGREES 求角度
15.RADIANS 将度转换为弧度
16.SIN 正弦函数
17.SINH 双曲线正弦函数
18.ASIN 反正弦函数
19.COS 余弦函数
20.COSH 双曲线余弦函数
21.ACOS 反余弦函数
22.TAN 正切函数
23.TANH 双曲线正切函数
24.ATAN 反正切函数
25.ATANH 双曲线反正切函数
26.ATAN2 反正切函数
27.COT 余切函数
28.LN 返回参数的自然对数
29.LOG 返回参数的自然对数
30.LOG10 返回基于10的自然对数
31.EXP 返回参数的指数函数
四:字符串函数
1.函数功能描述
2.ASCII 将字符转化为ASCII码
3.CHR 将ASCII码转化为字符
4.STRIP 删除字符串开始和结尾的空白字符或其他指定的字符
5.TRIM 删除字符串开始和结尾的空白字符或其他指定的字符
6.LTRIM 删除字符串开始的空白字符
7.RTRIM 删除字符串尾部的空白字符
8.LCASE or LOWER 返回字符串的小写
9.UCASE OR UPPER 返回字符串的大写
10.SUBSTR 返回子串
11.SUBSTRING 返回子串
12.LEFT 返回开始的N个字符
13.RIGHT 返回结尾的N个字符
14.POSITION 返回参数2在参数1中的第一次出现的位置
15.POSSTR 返回参数2在参数1中的第一次出现的位置
16.LOCATE 返回参数2在参数1中的第一次出现的位置
17.SPACE 返回由参数指定的长度,包含空格在内的字符串
18.REPEAT 回参数1重复参数2次后的字符串
19.CONCAT 连接两个字符串
20.INSERT 向指定字符串添加字符串
21.REPLACE 替换字符串
22.TRANSLATE 将字符串中的一个或多个字符替换为其他字符
23.CHARACTER_LENGTH 返回字符串的长度
24.OCTET_LENGTH 返回字符串的字节数
25.ENCRYPT 对字符串加密
26.DECRYPT_BIN and DECRYPT_CHARs 对加密后的数据解密
27.GETHINT 返回密码提示
28.GENERATE_UNIQUE 生成唯一字符序列
五:日期时间函数
1.函数功能描述
2.YEAR 返回日期的年部分
3.MONTH 返回日期的月部分
4.DAY 返回日期的日部分
5.HOUR 返回日期的小时部分
6.MINUTE 返回日期的分钟部分
7.SECOND 返回日期的秒部分
8.MICROSECOND 返回日期的微秒部分
9.MONTHNAME 返回日期的月份名称
10.DAYNAME 返回日期的星期名称
11.QUARTER 返回指定日期是第几季度
12.WEEK 返回当前日期是一年的第几周,每周从星期日开始
13.WEEK_ISO 返回当前日期是一年的第几周,每周从星期一开始
14.DAYOFWEEK 返回当前日期是一周的第几天,星期日是1
15.DAYOFWEEK_ISO 返回当前日期是一周的第几天,星期一是1
16.DAYOFYEAR 返回当前日期是一年的第几天
17.DAYS 返回用整数表示的时间,用来求时间间隔
18.JULIAN_DAY 返回从January 1, 4712 B.C(Julian date calendar)到
指定日期的天数
19.MIDNIGHT_SECONDS 返回午夜到指定时间的秒数
20.TIMESTAMPDIFF 返回两个timestamp型日期的时间间隔
21.TIMESTAMP_ISO 返回timestamp类型的日期
22.TO_CHAR 返回日期的字符串表示
23.VARCHAR_FORMAT 将日期格式化为字符串
24.TO_DATE 将字符串转化为日期
25.TIMESTAMP_FORMAT 将字符串格式化为日期
六:XML 函数
七:分区函数
1.函数功能描述
2.DATAPARTITIONNUM 返回数据分区中的序列号
3.DBPARTITIONNUM 返回行的分区号
4.HASHEDVALUE 返回行的 distribution map index (0 to 4095)
八:安全函数
1.函数功能描述
2.SECLABEL 返回未命名的安全标签
3.SECLABEL_BY_NAME 返回具体的安全标签
4.SECLABEL_TO_CHAR 返回标签的所有元素
九:其他
1.函数功能描述
2.COALESCE 将null转化为其他值
3.VALUE 将null转化为其他值
4.NULLIF 如果两个参数相等,则返回null,否则,返回第一个参数
5.HEX 返回一个值的16进制表示
6.LENGTH 返回一个值的长度
7.TABLE_NAME 返回table名
8.TABLE_SCHEMA 返回schema名
9.TYPE_ID 返回数据类型表示
10.TYPE_NAME 返回数据类型名
11.TYPE_SCHEMA 返回schema名
12.DEREF 返回参数类型的实例
13.IDENTITY_VAL_LOCAL 返回最后分配给标识列的值
14.REC2XML 返回XML标记格式的字符串,包含列名和列数据
15.EVENT_MON_STATE 返回某事件监视器的操作状态
16.RAISE_ERROR 抛出错误,可以指定sqlstate和error_message,有点像java
的抛出异常。

合集下载

db2 字符串匹配函数

db2 字符串匹配函数

db2 字符串匹配函数DB2是一款常用的关系型数据库管理系统,其中包含了许多字符串匹配函数,这些函数可以帮助我们在数据库中进行字符串的匹配、查找和替换等操作。

本文将介绍一些常用的DB2字符串匹配函数,并详细说明它们的用法和功能。

一、LIKE函数LIKE函数是DB2中最常用的字符串匹配函数之一。

它可以用于在数据库中查找满足特定模式的字符串。

LIKE函数的基本语法如下:SELECT 列名 FROM 表名 WHERE 列名 LIKE '模式';其中,模式可以使用通配符来表示特定的字符或字符序列。

通配符包括:- %:表示任意字符序列(包括空字符序列)。

- _:表示任意单个字符。

例如,我们可以使用以下语句查找所有以字母A开头的字符串:SELECT 列名 FROM 表名 WHERE 列名 LIKE 'A%';二、LOCATE函数LOCATE函数可以用于查找子字符串在目标字符串中的位置。

它的基本语法如下:LOCATE(子字符串, 目标字符串, 起始位置);其中,子字符串是要查找的字符串,目标字符串是要在其中查找的字符串,起始位置是查找的起始位置。

如果找到了子字符串,则返回子字符串在目标字符串中的位置;如果未找到,则返回0。

例如,我们可以使用以下语句查找字符串"apple"在目标字符串中的位置:SELECT LOCATE('apple', 列名) FROM 表名;三、SUBSTR函数SUBSTR函数可以用于截取字符串的子字符串。

它的基本语法如下:SUBSTR(字符串, 起始位置, 长度);其中,字符串是要截取的字符串,起始位置是截取的起始位置,长度是要截取的子字符串的长度。

例如,我们可以使用以下语句截取字符串"apple"的前三个字符:SELECT SUBSTR('apple', 1, 3) FROM 表名;四、CONCAT函数CONCAT函数可以用于连接多个字符串。

DB2字符串类型转换函数

DB2字符串类型转换函数

DB2字符串类型转换函数1、转换为字符串类型:CHAR函数语法:CHAR(ARG)CHAR函数返回日期时间型、字符串、整数、十进制或双精度浮点数的字符串表示。

Sql代码1.eg:2.SELECT CHAR(SALARY) FROM TESTCHR函数语法:CHR(ARG)CHR函数返回由参数指定的ASCII码的字符,参数可以是INTEGER或SMALLINT。

Sql代码1.eg:2.SELECT CHR(167) FROM TESTVARCHAR函数语法:VARCHAR(ARG,LENGTH)VARCHAR函数返回字符串、日期型、图形串的可变长度的字符串表示。

Sql代码1.eg:2.SELECT VARCHAR(NAME,50) FROM TEST3.--50为截取长度,如果name字符串的长度大于50,则返回“SQL0445W值已被截断。

SQLSTATE=01004”。

DIGITS函数语法:DIGITS()DIGITS函数返回SMALLINT、INTEGER、BIGIT或者DECIMAL参数的字符串值。

Sql代码1.eg:2.SELECT DIGITS(ID) FROM TEST2、转换为数字类型:DOUBLE、FLOAT函数语法:DOUBLE()、FLOAT()DOUBLE、FLOAT函数如果参数是一个数字表达式,返回与其对应的浮点数,否则返回错误代码。

Sql代码1.eg:2.SELECT DOUBLE('4569') FROM TESTINT函数语法:INT()INT函数返回整型常量中的数字、字符串或者日期、时间的整数表示。

Sql代码1.eg:2.SELECT INT('111') FROM TESTBIGINT函数语法:BIGINT()BIGINT函数返回整型常量中的数字、字符串或者时间戳的64位长整数表示。

Sql代码1.eg:2.SELECT BIGINT('111') FROM TESTSMALLINT函数语法:SMALLINT()SMALLINT函数返回整型常量中的数字、字符串短整数表示。

db2数字转字符串函数

db2数字转字符串函数

db2数字转字符串函数DB2数字转字符串函数是一种用于将数字类型的数据转换为字符串类型的函数,在DB2数据库中常用于数据处理和查询操作中。

本文将详细介绍DB2数字转字符串函数的使用方法和注意事项,以帮助读者更好地理解和应用该函数。

一、函数概述在DB2中,数字转字符串函数主要有两种:CHAR和VARCHAR。

这两个函数的作用是将数字类型的数据转换为字符串类型的数据,并可以指定字符串的长度和格式。

下面分别介绍这两个函数的使用方法和具体示例。

1. CHAR函数CHAR函数是DB2中常用的一个数字转字符串函数,其基本语法如下:CHAR(数字列或表达式,字符串长度)其中,数字列或表达式是要转换为字符串的数字类型的数据,字符串长度是转换后字符串的长度,可以是一个整数或一个变量。

示例:假设有一个表sales,其中包含一个列amount,存储了订单的金额。

我们想要将该列的数据转换为字符串类型,并在每个金额前面添加一个货币符号"$",则可以使用CHAR函数进行转换:SELECT CHAR(amount, 10) AS amount_strFROM sales;上述语句将查询结果中的amount列转换为字符串类型,并将转换后的结果存储在一个名为amount_str的新列中。

转换后的字符串长度为10,不足10位的数字会在左侧补0。

2. VARCHAR函数VARCHAR函数也是DB2中常用的数字转字符串函数,其基本语法如下:VARCHAR(数字列或表达式,字符串长度)与CHAR函数类似,数字列或表达式是要转换为字符串的数字类型的数据,字符串长度是转换后字符串的长度,可以是一个整数或一个变量。

示例:假设有一个表employee,其中包含一个列salary,存储了员工的薪水。

我们想要将该列的数据转换为字符串类型,并在每个薪水后面添加一个单位符号"元",则可以使用VARCHAR函数进行转换:SELECT VARCHAR(salary, 15) || '元' AS salary_strFROM employee;上述语句将查询结果中的salary列转换为字符串类型,并将转换后的结果存储在一个名为salary_str的新列中。

db2字符串函数

db2字符串函数

db2字符串函数DB2⼀个汉字占3个字节,Oracle占两个字节。

Oracle:SQL> select lengthb('中') from dual;LENGTHB('中')-------------2DB2:db2 => values length('中')1-----------31、Locate函数语法:LOCATE(ARG1,ARG2,<POS>)LOCATE函数在ARG2中查找ARG1第⼀次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第⼀次出现的位置。

db2:LOCATE 函数返回⼀个字符串在另⼀个字符串中第⼀次出现的起始位置。

如果指定了可选的起始位置,则表明它是源字符串中开始进⾏搜索的字符位置。

可以指定⼀个可选的字符串长度单元来指明在哪些单元中表⽰函数的起始位置和结果。

可以使⽤基于字符的函数来解决在 LOCATE 函数中指定起始位置的问题。

locate(String param1,String param2,int param3) 从param2的第param3位置开始,返回param1第⼀次出现的位置,默认param2为1。

db2 => values locate('a','abca',3,codeunits16)1-----------41 条记录已选择。

POSITION 函数返回⼀个字符串在另⼀个字符串中第⼀次出现的起始位置。

使⽤基于字符的函数可以解决将字节位置返回为字符位置的问题。

经测试,代码单元⽤octets也可以得到正确结果。

db2 => values position('中','abc1中',codeunits16)1-----------51 条记录已选择。

Oracle:INSTR(源字符串, ⽬标字符串, 起始位置, 匹配序号)INSTR在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。

DB2函数大全(整理)

DB2函数大全(整理)

DB2函数‎大全函数名函数解释函数举例AVG()返回一组数‎值的平均值‎.SELEC‎T AVG(SALAR‎Y)FROMB‎S EMPM‎S; CORR(),CORRE‎L ATIO‎N()返回一对数‎值的关系系‎数.SELEC‎T CORR‎E LATI‎O N(SALAR‎Y,BONUS‎)FROMB‎S EMPM‎S;COUNT‎()返回一组行‎或值的个数‎.SELEC‎T COUN‎T(*)FROMB‎S EMPM‎S; COVAR‎(),COVAR‎I ANCE‎()返回一对数‎值的协方差‎.SELEC‎T COVA‎R(SALAR‎Y,BONUS‎)FROMB‎S EMPM‎S;MAX()返回一组数‎值中的最大‎值.SELEC‎T MAX(SALAR‎Y)FROMB‎S EMPM‎S;MIN()返回一组数‎值中的最小‎值.SELEC‎T MIN(SALAR‎Y)FROMB‎S EMPM‎S; STDDE‎V()返回一组数‎值的标准偏‎差.SELEC‎T STDD‎E V(SALAR‎Y)FROMB‎S EMPM‎S;SUM()返回一组数‎据的和.SELEC‎T SUM(SALAR‎Y)FROMB‎S EMPM‎S;VAR(),VARIA‎N CE()返回一组数‎值的方差.SELEC‎T VARI‎A NCE(SALAR‎Y)FROMB‎S EMPM‎S;ABS(),ABSVA‎L()返回参数的‎绝对值.SELEC‎T ABS(-3.4)FROMB‎S EMPM‎S; ACOS()返回参数的‎反余弦值.SELEC‎T ACOS‎(0.9)FROMB‎S EMPM‎S;ASCII‎()返回整数参‎数最左边的‎字符的AS‎C II码.SELEC‎T ASCI‎I('R')FROMB‎S EMPM‎S;ASIN()返回用弧度‎表示的角度‎的参数的反‎正弦函数.SELEC‎T ASIN‎(0.9)FROMB‎S EMPM‎S;ATAN()返回参数的‎反正切值,该参数用弧‎度表示的角‎度的参数.SELEC‎T ATAN‎(0.9)FROMB‎S EMPM‎S;ATAN2‎()返回用弧度‎表示的角度‎的X和Y坐‎标的反正切‎值.SELEC‎T ATAN‎2(0.5,0.9)FROMB‎S EMPM‎S;BIGIN‎T()返回整型常‎量中的数字‎或字符串的‎64位整数‎表示.SELEC‎T BIGI‎N T(EMP_N‎O)FROMB‎S EMPM‎S;CEILI‎N G() OR CEIL()返回比参数‎大或等于参‎数的最小的‎整数值.SELEC‎T CEIL‎I NG(3.56)FROMB‎S EMPM‎S;SELEC‎T CEIL‎(4.67)FROMB‎S EMPM‎S; CHAR()返回日期时‎间型,字符串,整数,十进制或双‎精度浮点数‎的字符串表‎示. SELEC‎T CHAR‎(SALAR‎Y,',')FROMB‎S EMPM‎S;CHR()返回具有由‎参数指定的‎A SCII‎码的字符.SELEC‎T CHAR‎(167)FROMB‎S EMPM‎S;CONCA‎T()返回两个字‎符串的连接‎.SELEC‎T CONC‎A T(EMP_N‎O,EMP_N‎A M)FROMB‎S EMPM‎S;YEAR()返回数值的‎年部分.SELEC‎T YEAR‎('2003/01/02')FROMB‎S EMPM‎S; VARCH‎A R()返回字符串‎,日期型,图形串的可‎变长度的字‎符串表示.SELEC‎T VARC‎H AR(EMP_N‎A M,50)FROMB‎S EMPM‎S;UCASE‎() OR UPPER‎()返回字符串‎的大写.SELEC‎TUCASE‎(EMP_N‎A M)FROMB‎S EMPM‎S;SELEC‎T UPPE‎R(EMP_N‎O)FROMB‎S EMPM‎S;TRUNC‎A TE() OR TRUNC‎()从表达式小‎数点右边的‎位置开始截‎断并返回该‎数值. SELEC‎T TRUN‎C ATE(345.6789,2)FROMB‎S EMPM‎S;TIME()返回一个数‎值中的时间‎.SELEC‎T TIME‎('2001-03-19.12.30.12345‎6')FROMB‎S EMPM‎S;SUBST‎R(EXP1,EXP2)返回EXP‎1串自EX‎P2处开始‎的子串.SELEC‎T SUBST‎R('CDNJF‎D JFJD‎',5)FROM BSEMP‎M S;SELEC‎TSUBST‎R('CDNJF‎D JFJD‎',5,2)FROM BSEMP‎M S;SQRT()返回该参数‎的平方根.SELEC‎T SQRT‎(36)FROMB‎S EMPM‎S;SPACE‎()返回由参数‎指定的长度‎,包含空格在‎内的字符串‎.SELEC‎T SPAC‎E(10)FROMB‎S EMPM‎S;SECON‎D()返回一个数‎值的秒部分‎.SELEC‎T SECO‎N D('18:34:32')FROMB‎S EMPM‎S;RTRIM‎()删除字符串‎尾部的空格‎.SELEC‎T RTRI‎M('COMME‎N T')FROMB‎S EMPM‎S;ROUND‎(EXP1,EXP2)返回EXP‎1小数点右‎边的第EX‎P2位置处‎开始的四舍‎五入值. SELEC‎T ROUN‎D(2345.6789,2)FROMB‎S EMPM‎SREPLA‎C E(EXP1,EXP2,EXP3)用EXP3‎替代EXP‎1中所有的‎E XP2SELEC‎T CHAR‎(REPLA‎C E('ROMAN‎D D','NDD','CCB'),10)FROMB‎S EMPM‎S; REPEA‎T(EXP1,EXP2)返回EXP‎1重复EX‎P2次后的‎字符串.SELEC‎T CHAR‎(REPEA‎T('REPEA‎T',3),21)FROMB‎S EMPM‎S;REAL()返回一个数‎值的单精度‎浮点数表示‎.SELEC‎T REAL‎(10)FROMB‎S EMPM‎S;RAND()返回0和1‎之间的随机‎浮点数.SELEC‎T RAND‎()FROMB‎S EMPM‎S; POWER‎(EXP1,EXP2)返回EXP‎1的EXP‎2次幂.SELEC‎T POWE‎R(2,5)FROMB‎S EMPM‎S;POSST‎R(EXP1,EXP2)返回EXP‎2在EXP‎1中的位置‎.SELEC‎T('ABCDE‎F GH','D')FROMB‎S EMPM‎S;NULLI‎F(EXP1,EXP2)如果EXP‎1=EXP2,则为NUL‎L,否则为EX‎P1NODEN‎U MBER‎()返回行的分‎区号.SELEC‎T NODE‎N UMBE‎R(EMP_N‎O)FROMB‎S EMPM‎S;MONTH‎()返回一个数‎值的月部分‎.SELEC‎T MONT‎H('2003/10/20')FROMB‎S EMPM‎S;MOD(EXP1,EXP2)返回EXP‎1除以EX‎P2的余数‎.SELEC‎T MOD(20,8)FROMB‎S EMPM‎S;MINUT‎E()返回一个数‎值的分钟部‎分.SELEC‎T MINU‎T E('18:34:23')FROMB‎S EMPM‎S;LTRIM‎()删除字符串‎前面的空格‎.SELEC‎T LTRI‎M('CDDD')FROMB‎S EMPM‎S;HOUR()返回一个数‎值的小时部‎分.SELEC‎T HOUR‎('18:34:23')FROMB‎S EMPM‎S;DOUBL‎E()如果参数是‎一个数字表‎达式,返回与其相‎对应的浮点‎数,如果参数是‎字符串表达‎式,则返回该数‎的字符串表‎达式.SELEC‎T DOUB‎L E('5678')FROMB‎S EMPM‎S;EXP()返回参数的‎指数函数.SELEC‎T EXP(2)FROMB‎S EMPM‎S;FLOAT‎()返回一个数‎的浮点表示‎.SELEC‎T FLOA‎T(789)FROMB‎S EMPM‎S; FLOOR‎()返回小于或‎等于参数的‎最大整数.SLECT‎F LOOR‎(88.93)FROMB‎S EMPM‎S;HEX()返回一个表‎示为字符串‎的值的16‎进制表示.SELEC‎T HEX(16)FROMB‎S EMPM‎S;因为没有更‎好的术语,所以您还可‎以使用英语‎来执行日期‎和时间计算‎:curre‎n t date + 1 YEARcurre‎n t date + 3 YEARS‎+ 2 MONTH‎S + 15 DAYScurre‎n t time + 5 HOURS‎- 3 MINUT‎E S + 10 SECON‎D S要计算两个‎日期之间的‎天数,您可以对日‎期作减法,如下所示:days (curre‎n t date) - days (date('1999-10-22'))而以下示例‎描述了如何‎获得微秒部‎分归零的当‎前时间戳记‎:CURRE‎N T TIMES‎T AMP - MICRO‎S ECON‎D (curre‎n t times‎t amp) MICRO‎S ECON‎D S如果想将日‎期或时间值‎与其它文本‎相衔接,那么需要先‎将该值转换‎成字符串。

DB2数据库常用的函数

DB2数据库常用的函数

DB2数据库常⽤的函数1.value函数语法value(表达式1,表达式2)value函数是⽤返回⼀个⾮空的值,当其第⼀个参数⾮空,直接返回该参数的值,如果第⼀个参数为空,则返回第⼀个参数的值。

eg:表⽰如果T1.ID为空,则返回空串,如果不为空,则返回T1.IDselect value(ID,'') from T12.coalesce函数语法coalesce(arg1,arg2)coalesce返回参数集中第⼀个⾮null参数3.length函数语法length函数返回参数的长度eg:select length(name) from T14.lcase,lower函数语法lcase(),lower()函数返回定长,变长字符串的⼩写形式eg:select lcase(name),lower(name) from T15.ucase,upper函数语法:ucase(),upper()函数返回定长,变长字符串的⼤写形式eg:select ucase(name),upper(name) from T16.ltrim,rtrim语法:ltrim(),rtrim()ltrim,rtrim函数从char varchar graphic或者vargraphic中去掉左侧或右侧的空格eg:select ltrim(name),rtrim(name) from T17.left,right函数语法:left(arg,length),right(arg,length)left,right函数返回arg最左边,最右边的length个字符串,arg可以是char或binarystringeg:select left(name,2),right(name,2) from T18.concat 函数语法:concat(arg1,,arg2)concat函数返回两个字符串的连接eg:select concat(first_name,last_name) from T19.locate函数语法:locate(arg1,arg2,<pos>)locate函数在arg2中查找arg1第⼀次出现的位置,如果指定pos,则从arg2的pos处开始查找arg1的位置eg:select locate('a',name) from T110.posstr函数语法:posstr(表达式1,表达式2)posstr函数返回表达式2在表达式1中的位置11.repeat函数语法:repeat(arg1,num_times)repeat函数返回arg1被重复num_times次的字符串eg:select repeat(name,2) from T112.replace函数语法:replace(表达式1,表达式2,表达式3)replace函数⽤表达式3代替表达式1中的所有表达式2eg:select replace('romannd','nnd','ccb') from T113.space函数语法:space(size)函数返回⼀个包含size空格的字符串。

DB2函数大全(整理)

DB2函数大全函数名函数解释函数举例AVG()返回一组数值的平均值.SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION()返回一对数值的关系系数. SELECTCORRELATION(SALARY,BONUS)FROMBSEMPMS;COUNT()返回一组行或值的个数.SELECTCOUNT(*)FROMBSEMPMS; COVAR(),COVARIANCE()返回一对数值的协方差.SELECTCOVAR(SALARY,BONUS)FROMBSEMPMS;MAX()返回一组数值中的最大值.SELECTMAX(SALARY)FROMBSEMPMS;MIN()返回一组数值中的最小值.SELECTMIN(SALARY)FROMBSEMPMS; STDDEV()返回一组数值的标准偏差.SELECTSTDDEV(SALARY)FROMBSEMPMS;SUM()返回一组数据的和.SELECTSUM(SALARY)FROMBSEMPMS;VAR(),VARIANCE()返回一组数值的方差.SELECTVARIANCE(SALARY)FROMBSEMPMS;ABS(),ABSVAL()返回参数的绝对值.SELECTABS(-3.4)FROMBSEMPMS; ACOS()返回参数的反余弦值.SELECTACOS(0.9)FROMBSEMPMS;ASCII()返回整数参数最左边的字符的ASCII码.SELECTASCII('R')FROMBSEMPMS;ASIN()返回用弧度表示的角度的参数的反正弦函数.SELECTASIN(0.9)FROMBSEMPMS;ATAN()返回参数的反正切值,该参数用弧度表示的角度的参数. SELECTATAN(0.9)FROMBSEMPMS;ATAN2()返回用弧度表示的角度的X和Y坐标的反正切值.SELECTATAN2(0.5,0.9)FROMBSEMPMS;BIGINT()返回整型常量中的数字或字符串的64位整数表示. SELECTBIGINT(EMP_NO)FROMBSEMPMS;CEILING() OR CEIL()返回比参数大或等于参数的最小的整数值. SELECTCEILING(3.56)FROMBSEMPMS;SELECTCEIL(4.67)FROMBSEMPMS; CHAR()返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示. SELECTCHAR(SALARY,',')FROMBSEMPMS;CHR()返回具有由参数指定的ASCII码的字符.SELECTCHAR(167)FROMBSEMPMS;CONCAT()返回两个字符串的连接.SELECTCONCAT(EMP_NO,EMP_NAM)FROMBSEMPMS;YEAR()返回数值的年部分.SELECTYEAR('2003/01/02')FROMBSEMPMS; VARCHAR()返回字符串,日期型,图形串的可变长度的字符串表示. SELECTVARCHAR(EMP_NAM,50)FROMBSEMPMS;UCASE() OR UPPER()返回字符串的大写.SELECTUCASE(EMP_NAM)FROMBSEMPMS;SELECTUPPER(EMP_NO)FROMBSEMPMS;TRUNCATE() OR TRUNC()从表达式小数点右边的位置开始截断并返回该数值. SELECTTRUNCATE(345.6789,2)FROMBSEMPMS;TIME()返回一个数值中的时间.SELECTTIME('2001-03-19.12.30.123456')FROMBSEMPMS;SUBSTR(EXP1,EXP2)返回EXP1串自EXP2处开始的子串.SELECT SUBSTR('CDNJFDJFJD',5)FROM BSEMPMS;SELECTSUBSTR('CDNJFDJFJD',5,2)FROM BSEMPMS;SQRT()返回该参数的平方根.SELECTSQRT(36)FROMBSEMPMS;SPACE()返回由参数指定的长度,包含空格在内的字符串.SELECTSPACE(10)FROMBSEMPMS;SECOND()返回一个数值的秒部分.SELECTSECOND('18:34:32')FROMBSEMPMS;RTRIM()删除字符串尾部的空格.SELECTRTRIM('COMMENT')FROMBSEMPMS;ROUND(EXP1,EXP2)返回EXP1小数点右边的第EXP2位置处开始的四舍五入值.SELECTROUND(2345.6789,2)FROMBSEMPMSREPLACE(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和1之间的随机浮点数.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)FROMBSEMPMS;MONTH()返回一个数值的月部分.SELECTMONTH('2003/10/20')FROMBSEMPMS;MOD(EXP1,EXP2)返回EXP1除以EXP2的余数.SELECTMOD(20,8)FROMBSEMPMS;MINUTE()返回一个数值的分钟部分.SELECTMINUTE('18:34:23')FROMBSEMPMS;LTRIM()删除字符串前面的空格.SELECTLTRIM('CDDD')FROMBSEMPMS;HOUR()返回一个数值的小时部分.SELECTHOUR('18:34:23')FROMBSEMPMS;DOUBLE()如果参数是一个数字表达式,返回与其相对应的浮点数,如果参数是字符串表达式,则返回该数的字符串表达式.SELECTDOUBLE('5678')FROMBSEMPMS;EXP()返回参数的指数函数.SELECTEXP(2)FROMBSEMPMS;FLOAT()返回一个数的浮点表示.SELECTFLOAT(789)FROMBSEMPMS; FLOOR()返回小于或等于参数的最大整数.SLECTFLOOR(88.93)FROMBSEMPMS;HEX()返回一个表示为字符串的值的16进制表示.SELECTHEX(16)FROMBSEMPMS;因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算:current date + 1 YEARcurrent date + 3 YEARS + 2 MONTHS + 15 DAYScurrent time + 5 HOURS - 3 MINUTES + 10 SECONDS要计算两个日期之间的天数,您可以对日期作减法,如下所示:days (current date) - days (date('1999-10-22'))而以下示例描述了如何获得微秒部分归零的当前时间戳记:CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。

db2函数语法大全

创建函数SQL 函数的创建和在应用程序中的使用都很容易。

CREATE FUNCTION语句定义函数的特征和逻辑,并将函数的特征和逻辑存储在DB2 系统编目中。

该操作被称为注册函数。

清单1显示了一个简化版本的CREATE FUNCTION语法图,后面有对其主要部分的解释:清单 1. CREATE FUNCTION 语法图>>-CREATE FUNCTION--function-name------------------------------->>--(--+--------------------------------+--)--*------------------> | .-,--------------------------. || V | |'---parameter-name--data-type1-+-'>--RETURNS--+-data-type2-----------------+--*------------------->'-+-ROW---+--| column-list |-''-TABLE-'.-LANGUAGE SQL-.>--+-------------------------+--*--+--------------+--*---------->'-SPECIFIC--specific-name-'.-NOT DETERMINISTIC-. .-EXTERNAL ACTION----.>--+-------------------+--*--+--------------------+--*---------->'-DETERMINISTIC-----' '-NO EXTERNAL ACTION-'.-READS SQL DATA---------.>--+------------------------+--*--+-----------------+--*-------->+-CONTAINS SQL-----------+| |'-MODIFIES SQL DATA------'>--| SQL-function-body |--------------------------------------->column-list:.-,-----------------------.V ||--(----column-name--data-type3-+--)----------------------------|CREATE FUNCTION语句的最常见的子句是:∙function-name:函数名。

DB2常用函数总结

DB2常⽤函数总结⼀、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。

在ASCII()函数中,纯数字的字符串可不⽤‘’括起来,但含其它字符的字符串必须⽤‘’括起来使⽤,否则会出错。

2、CHAR()将ASCII 码转换为字符。

如果没有输⼊0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。

3、LOWER()和UPPER()LOWER()将字符串全部转为⼩写;UPPER()将字符串全部转为⼤写。

4、STR()把数值型数据转换为字符型数据。

STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的⼩数位数。

如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length ⼩于⼩数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数⼩于length ,左边补⾜空格。

⼆、去空格函数1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取⼦串函数1、left()LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 个字符。

2、RIGHT()RIGHT (<character_expression>, <integer_expression>)返回character_expression 右起 integer_expression 个字符。

3、SUBSTRING()SUBSTRING (<expression>, <starting_ position>, length)返回从字符串左边第starting_ position 个字符起length个字符的部分。

db2函数


14、db2 list tablespaces --列出表空间
二、高级篇
15、fetch first 10 rows only --列出表中前10条数据
例如:select * from <表名> fetch first 10 rows only
left(arg,length):返回arg最左边的length个字符串。
locate(arg1,arg2,<pos>):在arg2中查找arg1第一次出现的位置,指定pos,则从arg2的pos处开始找arg1第一次出现的位置。
posstr(arg1,arg2):返回arg2第一次在arg1中出现的位置。
VAR(),VARIANCE() 返回一组数值的方差. SELECTVARIANCE(SALARY)FROMBSEMPMS;
ABS(),ABSVAL() 返回参数的绝对值. SELECTABS(-3.4)FROMBSEMPMS;
ACOS() 返回参数的反余弦值. SELECTACOS(0.9)FROMBSEMPMS;
这样格式正确的。
19、concatt(参数1,连接值) --把参数1加上连接值组成一个新值。
例如: concat('aa','b') --返回是aab
、类型转化函数:
转化为数字类型的:
decimal, double, Integer, smallint,real
16、coalesce(字段名,转换后的值) --对是null的字段进行值转换
例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档