搜索字符串裏的字符,並查找特定的字符,標記找到的位置,而後用替代字符串裏對應的字符替換它express
--實例 --把CITY列中字符串的每一個I替換爲A,N替換爲B,D替換爲C SELECT CITY TRANSLATE(CITY,'IND','ABC') FROM table_name
語法函數
TRANSLATE(CHARACTER SET,VALUE1,VALUE2)
1注:code
MySQL和Oracle都支持使用TRANSLATE函數,可是Microsoft SQL Sever還不支持字符串
把某個字符或字符串替換爲必定指定的字符(或多個字符),其使用相似與TRANSLATE函數,只是它是一個把字符或字符串替換到另外一個字符串裏it
--返回所有城市,而且把城市裏的I都替換爲Z SELECT CITY,REPLACE(CITY,'I','Z') FROM table_name
語法io
REPLACE('VALUE','VALUE',[NULL] 'VALUE')
upper小寫轉大寫,lower大寫小撰寫table
語法搜索
UPPER(character String) LOWER(character String) --實例 SELECT LOWER(CITY) FROM EMPLOYEE_TBL
注:語法
Microsoft SQL Sever、MySQL和Oracle所有支持該函數,在MySQL中,還有UCAES函數也是小寫轉大寫,LCAES大寫轉小寫,但用戶最好遵循ANSI標準語法im
獲取字符串中的子字符,說白了就是獲取字符串的部份內容
語法
--在Oracle中的語法 SELECT SUBTR(column_name,position,length) --SQL Sever裏的語法 SELECT SUBTRING(column_name,position,length) --實例:獲取EMP_ID的第6至9個字符 SELECT EMP_ID,SUBTRING(EMP_ID,6,4) FROM EMPLOYEE_TBL
另外一種截取部分字符串的方式,用於從左剪除字符串裏的字符
語法
LTRIM(CHARACTER STRING [,'SET'])
--實例 SELECT POSITION,LTRIM(POSITION,'SALES') FROM EMPLOYEE_PAY_TBL
類與LTRIM,RTRIM用於剪除字符串右側的字符,
RTRIM(CHARACTER STRING [,'SET'])
注:
Microsoft SQL Server ,MySQL,Oracel所有支持RTRIM、LTRIM函數
用於在字符串中尋找指定的字符集,並返回它的位置
語法
INSTR(column_name,'set' [,START POSITION [,OCCURRENCE]])
--實例 --返回每一個州名裏I第一次出現的位置 SELECT INSTR(STATE,'I',1,1) FROM EMPLOYEE_TBL --查找並返回字母A在字段PROD_DESC裏第一次出現的位置 SELECT PROD_DESC,INSTR(PROD_DESC,'A',1,1) FROM PRODUCTS_TBL --若是爲找到A字母,則會返回位置值0
注:
INSTR函數在MySQL和Oracle中有效,可是在Microsoft SQL Server中須要使用CHARINDEX
CHARINDEX(expression1,expression2 [,start_location]) --exprssion1表示想要找的字符,如‘set’ --exprssion2表示被查找的字段,如‘column_name’ --start_location表示在expression2中查找expression1的開始位置,能夠不寫,表示從1位開始查找 --實例 CHARINDEX('SQL','Microsoft SQL Server') --返回的是整數11,由於'SQL'從11開始的(包括空格),若是找不到就返回0
在字符串中搜索一個值或字符串,若是找到了,就在結果裏顯示另外一個字符串
語法
DECODE(column_name,'SEARCH1','RETURN1',['SEARCH2','RETURN2','DEFAULT VALUE'])
--從CITY中找到INDIANAPOLIS顯示爲INDY,GREENWOOD顯示爲 GREEN,而其餘城市顯示爲OTHER SELECT CITY,DECODE(CITY,'INDIANPOLIS','INDY','GREENWOOD','GREEN','OTHER') FROM EMPLOYEE_TBL
注:
DECODE函數不是ANSI目前還不是標準裏的,該函數主要用於Oracel和PostgreSQL