您的位置:首页 > 数据库 > Oracle

oracle 常见函数

2015-06-21 12:19 627 查看
Upper

SELECT Upper ('abcde') FROM dual ;

SELECT * FROM emp WHERE ename=UPPER('smith') ;

Lower

SELECT lower('ABCDE') FROM dual ;

Initcap:首字母大写 其他字母小写

Select initcap(ename) from emp

结果为:

Allen

Ward

Jones

Concat

Select concat(„a‟,‟b‟) from dual;

Select „a‟ || „b‟ from dual;

常用的方式是:

SBUSTR(str,pos);

就是从pos开始的位置,一直截取到最后。

还有一种比较常用的是:

复制代码 代码如下:

SUBSTR(str,pos,len);

这种表示的意思是,就是从pos开始的位置,截取len个字符(空白也算字符)。

需要注意的是:如果pos为1(而不是0),表示从第一个位置开始。

Select replace(ename,‟a‟,‟A ‟) from emp

Select instr('Hello World','or') from dual

// 指定字符串的位置 结果为8

Select length(ename) from emp;

格式:MONTHS_BETWEEN(DATE1,DATE2)即MONTHS_BETWEEN(日期1,日期2)

MONTHS_BETWEEN函数返回两个日期之间的月份数。如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一个整数,否则,返回数值带小数,以每天1/31月来计算月中剩余天数。如果日期1日期2小 ,返回值为负数。

例:months_between(to_date('1999.11.29','yyyy.mm.dd'),to_date('1998.11.29','yyyy.mm.dd'))

返回 12

注:两个参数均为同样月份的29号,所以返回一整数。

months_between(to_date('1999.11.29','yyyy.mm.dd'),to_date('1998.12.24','yyyy.mm.dd'))

返回 13.16129

注:两个参数表示的日期不是同一天,所以返回带小数的值。

Add_months()

select add_months(sysdate,1) from dual;

Next_day()

select next_day(sysdate,'星期一') from dual;

Last_day

select last_day(sysdate) from dual
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: