1.substr()
表:mytable
a b
11 a20080810
21 a20080811
21 b20080809
select * from mytable.
将查询结果根据b字段中的20080809,20080810,20080811进行排序。
select * from mytable order by substr(b,2);
2.substr(),substrb()
SQL> select substr('你真的好吗',-3) from dual;
的好吗
SQL> select substrb('你真的好吗',-3) from dual;
吗
SQL> select substr('abcde',-3) from dual;
cde
SQL> select substrb('abcde',-3) from dual;
cde
3.reverse()
SQL> select reverse('1234567890') from dual;
0987654321
截掉某个字符串的后9位:
select reverse(substrb(reverse('1234567890'),9)) from dual;
4.截掉某个字符出现的左边部分:
select substr(mclass,(instr(mclass,'-',1,1))+3) from appinfotemp;
附:
字符函数:
initcap(st) 返回st将每个单词的首字母大写,所有其他字母小写
lower(st) 返回st将每个单词的字母全部小写
upper(st) 返回st将每个单词的字母全部大写
concat(st1,st2) 返回st为st2接st1的末尾(可用操作符"||")
lpad(st1,n[,st2]) 返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格
rpad(st1,n[,st2]) 返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格
ltrim(st[,set]) 返回st,st为从左边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格
rtrim(st[,set]) 返回st,st为从右边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格
replace(st,search_st[,replace_st]) 将每次在st中出现的search_st用replace_st替换,返回一个st。缺省时,删除search_st
substr(st,m[,n]) n=返回st串的子串,从m位置开始,取n个字符长。缺省时,一直返回到st末端
length(st) 数值,返回st中的字符数
instr(st1,st2[,m[,n]]) 数值,返回st1从第m字符开始,st2第n次出现的位置,m及n的缺省值为1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13545951/viewspace-496154/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13545951/viewspace-496154/