substr(),substrb(),reverse()的使用

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值