日期:2014-05-16  浏览次数:20505 次

常用oracle字符串操作函数

?

查询所有数据当中“机构码”的前两位的信息,而且不重复

select distinct(substr(img.org_code,0,2)) as a from img_batch img order by a;

利用数据库查询时间

select sysdate from dual;

select distinct sysdate from img_batch;

?

?

字符函数学习

Initcap将单词的首字母大写,其余的小写

select initcap(p.name) from person p; ?

?

将字母全部大小写:

select upper(p.name) from person p;

select lower(p.name) from person p;?

?

指定字符串长度,不足的用指定字符填补:

第一个参数:需要处理的字符串

第二个参数:字符串扩充的宽度

第三个参数:需要用什么字符串来代替(可选:如果没有则默认是空格)

select name,rpad(p.name,15) from person p;

select name,lpad(p.name,15,'&') from person p;

select name,rpad(p.name,15,'#') from person p;?

?

将指定的字符(或字符串)出现在字符串的头部或者尾部将被剪切掉,类似于去掉字符串两端的空格

第一个参数:查询的字符串

第二个参数:需要去掉的字符串,默认是空格

select name,ltrim(p.name,'ang') from person p;----木有变化

select name,ltrim(p.name,'h') from person p;----删除头部的信息

select name,rtrim(p.name,'iao') from person p;----删除尾部的信息?

?

将字符串替换为制定的字符串

第一个参数:查询的字符串

第二个参数:需要被替换的字符串

第三个参数:替代的字符串(默认是不填写)

select name,replace(p.name,'ang','***') from person p;?

?

获取查询结果的子字符串

第一个参数为目标字符串

第二个字符串是将要输出的子串的起点

第三个参数是将要输出的子串的长度

如果第二个参数为负数那么将会从源串的尾部开始向前定位至负数的绝对值的位置

如果只有第二个参数而没有第三个参数则将默认是到最后的位置

select p.name,substr(p.name,3) from person p;

select p.name,substr(p.name,-3,6) from person p;?

select name,substr(p.name,3,6) from person p;?