ORACLE常用函数之字符函数
2015-12-09 18:33
375 查看
ORACLE常用函数之字符函数
CONCAT(c1,c2)功能:连接两个字符串
说明:同:c1||c2
参数:c1,c2 字符型表达式
返回:字符型
示例:
select concat('你好','ORACLE')||'!!!!' from dual;
结果:你好ORACLE!!!!
INITCAP(c1)
功能:返回字符串并将字符串的第一个字母变为大写,其它字母小写;
说明:
参数:c1字符型表达式
返回:字符型
示例:
select initcap('hello') from dual;
结果:Hello
LOWER(c1)/UPPER(c1)
功能:将字符串全部转为大写/小写
说明:
参数:c1,字符表达式
返回:字符型
示例:`select upper(‘AaBbCcDd’),lower(‘AaBbCcDd’) from dual;
结果:AABBCCDD aabbccdd
INSTR(C1,C2[,I[,J]])
功能:在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
说明:多字节符(汉字、全角符等),按1个字符计算
参数:
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 第J次出现的位置,默认为1
返回:数值
示例:
select instr('i luv you','uv'),instr('i luv you','u',7,1) from dual;
结果: 4 9
INSTRB(C1,C2[,I[,J]])
功能:在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
说明:多字节符(汉字、全角符等),按2个字符计算
参数:
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 第J次出现的位置,默认为1
返回:数值
示例:
select substr('你好ORACLE!!!',3,6),substrb('你好ORACLE!!!',3,6),substr('你好ORACLE!!!',3) from dual;
结果: ORACLE 好ORAC ORACLE!!!
LENGTH(c1)
功能:返回字符串的长度;
说明:多字节符(汉字、全角符等),按1个字符计算
参数:C1 字符串
返回:数值型
示例:
select length('哈哈哈'),length('北京市海锭区'),length('北京TO_CHAR') from dual;
结果:
LENGTH(‘哈哈哈’) LENGTH(‘北京市海锭区’) LENGTH(‘北京TO_CHAR’)
3 6 9
LENGTHB(c1)
功能:返回字符串的长度;
说明:多字节符(汉字、全角符等),按2个字符计算
参数:C1 字符串
返回:数值型
示例:
select lengthb('哈哈哈'),lengthb('北京市海锭区'),lengthb('北京TO_CHAR') from dual;
结果:
LENGTHB(‘哈哈哈’) LENGTHB(‘北京市海锭区’) LENGTHB(‘北京TO_CHAR’)
6 12 11
LPAD(c1,n[,c2])
功能:在字符串c1的左边用字符串c2填充,直到长度为n时为止
说明:
如果c1长度大于n,则返回c1左边n个字符
如果如果c1长度小于n,c2和c1连接后大于n,则返回连接后的右边n个字符
参数:
C1 字符串
n 追加后字符总长度
c2 追加字符串,默认为空格
返回:字符型
示例:
select lpad('lpad',10,'*') from dual;
结果:******lpad
RPAD(c1,n[,c2])
功能:在字符串c1的右边用字符串c2填充,直到长度为n时为止
说明:
如果c1长度大于n,则返回c1左边n个字符
如果如果c1长度小于n,c1和c2连接后大于n,则返回连接后的左边n个字符
如果如果c1长度小于n,c1和c2连接后小于n,则返回c1与多个重复c2连接(总长度>=n)后的左边n个字
参数:
C1 字符串
n 追加后字符总长度
c2 追加字符串,默认为空格
返回:字符型
示例:
select rpad('rpad',10,'*a') from dual;
结果:rpad*a*a*a
LTRIM(c1,[,c2])
功能:删除c1左边重复出现的字符串c2
说明:如果左边出现多个c2都会去掉
参数:
C1 字符串
c2 搜索的字符串,默认为空格
返回:字符型
示例:
select LTRIM('ababababab去掉左边','ab') from dual;
结果:去掉左边
RTRIM(c1,[,c2])
功能:删除右边重复出现的字符串c2
说明:如果右边出现多个c2都会去掉
参数:
C1 字符串
c2 追加字符串,默认为空格
返回:字符型
示例:参考上
TRIM(c1 from c2)
功能:参考LTRIM和RTRIM
REPLACE(c1,c2[,c3])
功能:将c1中出现c2的部分替换为c3
说明:
参数:
c1 希望被替换的字符或变量
c2 被替换的字符串
c3 要替换的字符串,默认为空(即删除之意,不是空格)
返回:字符型
示例:
select replace('i luv you luv','luv','love') from dual;
结果:i love you love
SUBSTR(c1,n1[,n2])
功能:取子字符串
说明:多字节符(汉字、全角符等),按1个字符计算
参数:在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串
返回:字符型
示例:
select substr('你好ORACLE!!!',3,6),substrb('你好ORACLE!!!',3,6),substr('你好ORACLE!!!',3) from dual;
结果: ORACLE 好ORAC ORACLE!!!
SUBSTRB(c1,n1[,n2])
功能:取子字符串
说明:多字节符(汉字、全角符等),按2个字符计算
参数:在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串
返回:字符型,如果从多字符右边开始,则用空格表示
示例:
select substr('你好ORACLE!!!',3,6),substrb('你好ORACLE!!!',4,6),substr('你好ORACLE!!!',3) from dual;
结果: ORACLE ORACL ORACLE!!!
TRANSLATE(c1,c2,c3)
功能:将字符表达式值中,指定字符替换为新字符
说明:多字节符(汉字、全角符等),按1个字符计算
参数:
c1 希望被替换的字符或变量
c2 查询原始的字符集
c3 替换新的字符集,将c2对应顺序字符,替换为c3对应顺序字符
如果c3长度大于c2,则c3长出后面的字符无效
如果c3长度小于c2,则c2长出后面的字符均替换为空(删除)
如果c3长度为0,则返回空字符串。
如果c2里字符重复,按首次位置为替换依据
返回:字符型
示例:
`select TRANSLATE(‘he love you’,’he’,’i’),
TRANSLATE(‘重庆的人’,’重庆的’,’上海男’),
TRANSLATE(‘重庆的人’,’重庆的重庆’,’北京男士们’),
TRANSLATE(‘重庆的人’,’重庆的重庆’,’1北京男士们’),
结果:i love you,上海男人,北京男人,1北京人,京男士人
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解