1. 程式人生 > >【轉】DB2數據庫函數大全

【轉】DB2數據庫函數大全

區號 big index 大整數 第一個 err lower int 指定時間

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 函數  

在 DB2 SQL 函數中使用 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的拋出異常  

  

 

【轉】DB2數據庫函數大全