db2字符串截取方法及常用函數


select substr(index_code, 1, locate('-', index_code)-1) from report_data

substr(str,m,n)表示從str中的m個字符開始截取n個字符。注:m從1開始計數。

locate(str1,str2, <pos>)表示在str2中查找str1第一次出現的位置,如果指定pos,則從str2的pos處開始查找str1第一次出現的位置。

LOCATE函數
語法:LOCATE(ARG1,ARG2,<POS>)
LOCATE函數在ARG2中查找ARG1第一次出現的位置,如果指定POS,則從ARG2的POS處開始查找ARG1第一次出現的位置。
Sql代碼
eg:   
SELECT LOCATE('a',NAME) FROM T1  
OR
POSSTR函數
語法:POSSTR(EXP1,EXP2)
POSSTR函數返回EXP2在EXP1中的位置。
Sql代碼
eg:   
SELECT LOCATE(NAME,'a') FROM T1

 

DB2常用函數

VALUE函數

語法:VALUE(EXPRESSION1,EXPRESSION2)

VALUE函數是用返回一個非空的值,當其第一個參數非空,直接返回該參數的值,如果第一個參數為空,則返回第一個參數的值。

eg:
--表示如果T1.ID為空,則返回空串,如果T1.ID不為空,則返回T1.ID。
SELECT VALUE(ID,'') FROM T1



COALESCE函數

語法:COALESCE(ARG1,ARG2...)

COALESCE返回參數集中第一個非null參數。用法類似於VALUE函數。


LENGTH函數

語法:LENGTH(ARG)

LENGTH函數返回參數的長度。

eg:
SELECT LENGTH(NAME) FROM T1



LCASE、LOWER函數

語法:LCASE()、LOWER()

LCASE、LOWER函數返回定長、變長字符串的小寫形式。

eg:
SELECT LCASE(NAME),LOWER(NAME) FROM T1



UCASE、UPPER函數

語法:UCASE()、UPPER()

UCASE、UPPER函數返回定長、變長字符串的大寫形式。

eg:
SELECT UCASE(NAME),UPPER(NAME) FROM T1



LTRIM、RTRIM函數

語法:LTRIM()、RTRIM()

LTRIM、RTRIM函數從CHAR、VARCHAR、GRAPHIC或者VARGRAPHIC中去掉左側或右側的空格。

eg:
SELECT LTRIM(NAME),RTRIM(NAME) FROM T1



LEFT、RIGHT函數

語法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)

LEFT、RIGHT函數返回ARG最左邊、右邊的LENGTH個字符串,ARG可以是CHAR或BINARY STRING。

eg:
SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1



CONCAT函數

語法:CONCAT(ARG1,ARG2)

CONCAT函數返回兩個字符串的連接。

eg:
SELECT CONCAT(FIRST_NAME,LAST_NAME) FROM T1



INSERT函數

語法:INSERT(ARG1,POS,SIZE,ARG2)

INSERT函數返回一個字符串,將ARG1從POS處刪除SIZE個字符,將ARG2插入該位置。

eg:



LOCATE函數

語法:LOCATE(ARG1,ARG2,<POS>)

LOCATE函數在ARG2中查找ARG1第一次出現的位置,如果指定POS,則從ARG2的POS處開始查找ARG1第一次出現的位置。

eg:
SELECT LOCATE('a',NAME) FROM T1



POSSTR函數

語法:POSSTR(EXP1,EXP2)

POSSTR函數返回EXP2在EXP1中的位置。

eg:
SELECT LOCATE(NAME,'a') FROM T1



REPEAT函數

語法:REPEAT(ARG1,NUM_TIMES)

REPEAT函數返回ARG1被重復NUM_TIMES次的字符串。

eg:
SELECT REPEAT(NAME,2) FROM T1



REPLACE函數

語法:REPLACE(EXP1,EXP2,EXP3)

REPLACE函數用EXP3代替EXP1中所有的EXP2。

eg:
SELECT REPLACE('ROMANND','NND','CCB') FROM T1



SPACE函數

語法:SPACE(SIZE)

SPACE函數返回一個包含SIZE個空格的字符串。

eg:
SELECT SPACE(10) FROM T1



SUBSTR函數

語法:SUBSTR(ARG1,POS,<LENGTH>)

SUBSTR函數返回ARG1中POS位置開始的LENGTH個字符,如果沒有指定LENGTH,則返回剩余的字符。

eg:
SELECT SUBSTR('CDNJFDJFJD',5,2) FROM T1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM