搜索字符串里的字符,并查找特定的字符,标记找到的位置,而后用替代字符串里对应的字符替换它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