1,字符串截取select substr('abcdef',1,3) from dual2,查找子串位置select instr('abcfdgfdhd','fd') from dual3,字符串连接select 'HELLO'||'hello world' from dual;4, 1)去掉字符串中的空格select ltrim(' abc') s1,rtrim('zhang ') s2,trim(' zhang ') s3 from dual2)去掉前导和后缀select trim(leading 9 from 9998767999) s1,trim(trailing 9 from 9998767999) s2,trim(9 from 9998767999) s3 from dual;5,返回字符串首字母的Ascii值select ascii('a') from dual6,返回ascii值对应的字母select chr(97) from dual7,计算字符串长度select length('abcdef') from dual8,initcap(首字母变大写) ,lower(变小写),upper(变大写)select lower('ABC') s1,upper('def') s2,initcap('efg') s3from dual;9,Replaceselect replace('abc','b','xy') from dual;10,translateselect translate('abc','b','xx') from dual; -- x是1位11, decode[实现if ..then 逻辑] 注:第一个是表达式,最后一个是不满足任何一个条件的值select deptno,decode(deptno,10,'1',20,'2',30,'3','其他') from dept;例:select seed,account_name,decode(seed,111,1000,200,2000,0) from t_userInfo//如果seed为111,则取1000;为200,取2000;其它取0select seed,account_name,decode(sign(seed-111),1,'big seed',-1,'little seed','equal seed') from t_userInfo//如果seed>111,则显示大;为200,则显示小;其它则显示相等12, case[实现switch ..case 逻辑]SELECT CASE X-FIELDWHEN X-FIELD < 40 THEN 'X-FIELD 小于 40'WHEN X-FIELD < 50 THEN 'X-FIELD 小于 50'WHEN X-FIELD < 60 THEN 'X-FIELD 小于 60'ELSE 'UNBEKNOWN'ENDFROM DUAL注:CASE语句在处理类似问题就显得非常灵活。当只是需要匹配少量数值时,用Decode更为简洁
oracle函数首字母大写,oracle字符函数
最新推荐文章于 2022-09-24 14:13:21 发布