DB2 内置的函数真的是很多,要精通每个函数几乎是不可能的,所以本文并不打算介绍每个函数的具体用法,而是提供一个概览,让您了解每个函数的功能,这样,当你感觉你需要某些功能的函数时,再学习它们的具体用法也不迟。
DB2 内置函数大体分为以下几类:
聚合函数 类型转换函数 数学函数 字符串函数 日期时间函数 XML 函数 分区函数 安全函数 其他
下面我们就了解一下每类都有哪些函数,以及这些函数的功能。
一:聚合函数
VALUE函数 语法:VALUE(EXPRESSION1,EXPRESSION2) VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值。 COALESCE函数 语法:COALESCE(ARG1,ARG2...) COALESCE返回参数集中第一个非null参数。用法类似于VALUE函数。 LENGTH函数 语法:LENGTH(ARG) LENGTH函数返回参数的长度。 LCASE、LOWER函数 语法:LCASE()、LOWER() LCASE、LOWER函数返回定长、变长字符串的小写形式。 UCASE、UPPER函数 语法:UCASE()、UPPER() UCASE、UPPER函数返回定长、变长字符串的大写形式。 LTRIM、RTRIM函数 语法:LTRIM()、RTRIM() LTRIM、RTRIM函数从CHAR、VARCHAR、GRAPHIC或者VARGRAPHIC中去掉左侧或右侧的空格。 LEFT、RIGHT函数 语法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH) LEFT、RIGHT函数返回ARG最左边、右边的LENGTH个字符串,ARG可以是CHAR或BINARY STRING。 CONCAT函数 语法:CONCAT(ARG1,ARG2) CONCAT函数返回两个字符串的连接。 INSERT函数 语法:INSERT(ARG1,POS,SIZE,ARG2) INSERT函数返回一个字符串,将ARG1从POS处删除SIZE个字符,将ARG2插入该位置。 LOCATE函数 语法:LOCATE(ARG1,ARG2,<POS>) LOCATE函数在ARG2中查找ARG1第一次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第一次出现的位置。 POSSTR函数 语法:POSSTR(EXP1,EXP2) POSSTR函数返回EXP2在EXP1中的位置。 REPEAT函数 语法:REPEAT(ARG1,NUM_TIMES) REPEAT函数返回ARG1被重复NUM_TIMES次的字符串。 REPLACE函数 语法:REPLACE(EXP1,EXP2,EXP3) REPLACE函数用EXP3代替EXP1中所有的EXP2。 SPACE函数 语法:SPACE(SIZE) SPACE函数返回一个包含SIZE个空格的字符串。 SUBSTR函数 语法:SUBSTR(ARG1,POS,<LENGTH>) SUBSTR函数返回ARG1中POS位置开始的LENGTH个字符,如果没有指定LENGTH,则返回剩余的字符。
二:类型转换函数
DB2为每种数据类型都提供了相应的函数,一般情况下它们之间的相互转换是非常简单的,请看下表: 函数 功能描述 SMALLINT 返回 SMALLINT 类型的值 INTEGER 返回 INTEGER 类型的值 BIGINT 返回 BIGINT 类型的值 DECIMAL 返回 DECIMAL 类型的值 REAL 返回 REAL 类型的值 DOUBLE 返回 DOUBLE 类型的值 FLOAT 返回 FLOAT 类型的值 CHAR 返回 CHARACTER 类型的值 VARCHAR 返回 VARCHAR 类型的值 VARCHAR_FORMAT_BIT 将位字符序列格式化为 VARCHAR 类型返回 VARCHAR_BIT_FORMAT 将格式化后位字符序列返回到格式化前 LONG_VARCHAR 返回 LONG VARCHAR 类型的值 CLOB 返回 CLOB 类型的值 GRAPHIC 返回 GRAPHIC 类型的值 VARGRAPHIC 返回 VARGRAPHIC 类型的值 LONG_VARGRAPHIC 返回 LONG VARGRAPHIC 类型的值 DBCLOB 返回 DBCLOB 类型的值 BLOB 返回 BLOB 类型的值 DATE 返回 DATE 类型的值 TIME 返回 TIME 类型的值 TIMESTAMP 返回 TIMESTAMP 类型的值
三:数学函数
函数 功能描述 ABS,ABSVAL 返回参数的绝对值 SIGN 如果参数大于0则返回1,小于0返回-1,等于0返回0 RAND 返回0和1之间的随机浮点数 MOD 求余数 ROUND 返回参数1小数点右边的第参数2位置处开始的四舍五入值 TRUNCATE OR TRUNC 从表达式小数点右边的位置开始截断并返回该数值 FLOOR 返回小于或等于参数的最大整数 CEILING OR CEIL 返回大于或等于参数的最小的整数值 POWER 返回参数1的参数2次幂 SQRT 返回该参数的平方根 DIGITS 返回参数绝对值的字符串表示 MULTIPLY_ALT 返回参数的乘积 DEGREES 求角度 RADIANS 将度转换为弧度 SIN 正弦函数 SINH 双曲线正弦函数 ASIN 反正弦函数 COS 余弦函数 COSH 双曲线余弦函数 ACOS 反余弦函数 TAN 正切函数 TANH 双曲线正切函数 ATAN 反正切函数 ATANH 双曲线反正切函数 ATAN2 反正切函数 COT 余切函数 LN 返回参数的自然对数 LOG 返回参数的自然对数 LOG10 返回基于10的自然对数 EXP 返回参数的指数函数
四:字符串函数
函数 功能描述 ASCII 将字符转化为ASCII码 CHR 将ASCII码转化为字符 STRIP 删除字符串开始和结尾的空白字符或其他指定的字符 TRIM 删除字符串开始和结尾的空白字符或其他指定的字符 LTRIM 删除字符串开始的空白字符 RTRIM 删除字符串尾部的空白字符 LCASE or LOWER 返回字符串的小写 UCASE OR UPPER 返回字符串的大写 SUBSTR 返回子串 SUBSTRING 返回子串 LEFT 返回开始的N个字符 RIGHT 返回结尾的N个字符 POSITION 返回参数2在参数1中的第一次出现的位置 POSSTR 返回参数2在参数1中的第一次出现的位置 LOCATE 返回参数2在参数1中的第一次出现的位置 SPACE 返回由参数指定的长度,包含空格在内的字符串 REPEAT 回参数1重复参数2次后的字符串 CONCAT 连接两个字符串 INSERT 向指定字符串添加字符串 REPLACE 替换字符串 TRANSLATE 将字符串中的一个或多个字符替换为其他字符 CHARACTER_LENGTH 返回字符串的长度 OCTET_LENGTH 返回字符串的字节数 ENCRYPT 对字符串加密 DECRYPT_BIN and DECRYPT_CHARs 对加密后的数据解密 GETHINT 返回密码提示 GENERATE_UNIQUE 生成唯一字符序列
五:日期时间函数
函数 功能描述 YEAR 返回日期的年部分 MONTH 返回日期的月部分 DAY 返回日期的日部分 HOUR 返回日期的小时部分 MINUTE 返回日期的分钟部分 SECOND 返回日期的秒部分 MICROSECOND 返回日期的微秒部分 MONTHNAME 返回日期的月份名称 DAYNAME 返回日期的星期名称 QUARTER 返回指定日期是第几季度 WEEK 返回当前日期是一年的第几周,每周从星期日开始 WEEK_ISO 返回当前日期是一年的第几周,每周从星期一开始 DAYOFWEEK 返回当前日期是一周的第几天,星期日是1 DAYOFWEEK_ISO 返回当前日期是一周的第几天,星期一是1 DAYOFYEAR 返回当前日期是一年的第几天 DAYS 返回用整数表示的时间,用来求时间间隔 JULIAN_DAY 返回从January 1, 4712 B.C(Julian date calendar)到指定日期的天数 MIDNIGHT_SECONDS 返回午夜到指定时间的秒数 TIMESTAMPDIFF 返回两个timestamp型日期的时间间隔 TIMESTAMP_ISO 返回timestamp类型的日期 TO_CHAR 返回日期的字符串表示 VARCHAR_FORMAT 将日期格式化为字符串 TO_DATE 将字符串转化为日期 TIMESTAMP_FORMAT 将字符串格式化为日期
六:XML 函数
七:分区函数
函数 功能描述 DATAPARTITIONNUM 返回数据分区中的序列号 DBPARTITIONNUM 返回行的分区号 HASHEDVALUE 返回行的 distribution map index (0 to 4095)
八:安全函数
函数 功能描述 SECLABEL 返回未命名的安全标签 SECLABEL_BY_NAME 返回具体的安全标签 SECLABEL_TO_CHAR 返回标签的所有元素
九:其他
函数 功能描述 COALESCE 将null转化为其他值 VALUE 将null转化为其他值 NULLIF 如果两个参数相等,则返回null,否则,返回第一个参数 HEX 返回一个值的16进制表示 LENGTH 返回一个值的长度 TABLE_NAME 返回table名 TABLE_SCHEMA 返回schema名 TYPE_ID 返回数据类型表示 TYPE_NAME 返回数据类型名 TYPE_SCHEMA 返回schema名 DEREF 返回参数类型的实例 IDENTITY_VAL_LOCAL 返回最后分配给标识列的值 REC2XML 返回XML标记格式的字符串,包含列名和列数据 EVENT_MON_STATE 返回某事件监视器的操作状态 RAISE_ERROR 抛出错误,可以指定sqlstate和error_message,有点像java的抛出异常
时间: 2024-10-09 12:42:23