首页 > 代码库 > oracle 函数笔记
oracle 函数笔记
substr()与substrb()
区别在于对汉字的截取,一个汉字可能会占2个或3个字符,substr()截取的长度是指字符串的长度,substrb()截取的长度是指字符串所占字符的长度。
例子如下:
select substr(‘哈哈哈哈哈哈‘,1,6) from dual;
哈哈哈哈哈哈
select substrb(‘哈哈哈哈哈‘,1,6) from dual; --使用的库一个汉字是占3个字符,UTF-16
哈哈
select substr(‘123abc!@#$%^&*()‘,1,16) from dual;
123abc!@#$%^&*()
select substrb(‘123abc!@#$%^&*()‘,1,16) from dual;
123abc!@#$%^&*()
decode()
格式为decode(expr,v_1,value_1,v_2,value_2,...,v_n,value_n,default),如果expr的值为v_1,则返回value_1;值为v_2,则返回value_2;如果在列表中没有与expr匹配上的值,则返回default。在这里,null值与null值视为等价。
select decode(mod(10,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --余1
select decode(mod(11,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --余2
select decode(mod(12,3),1,‘余1‘,2,‘余2‘,‘整除‘) res from dual; --整除
oracle 函数笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。