oracle函数

oracle中查询函数需要用到dual表

数值函数

四舍五入:n表示要进行四舍五入的值,m表示保留小数点后几位或前几位
ROUND(n,[m]).省略m,就是0;m>0:小数点后m位;m<0:小数点前m位。

取整函数:
ceil(n):上限,取的最大值;
floor(n):下限,取的最小值。
select ceil(23.45),floor(23.45) from dual;
CEIL(23.45) FLOOR(23.45)
----------- ------------
         24           23

常用计算:
取绝对值:ABS(n)
取余数:MOD(m,n):如果m和n中有一个值为null,则结果返回为null.
幂数:power(m,n),表示返回m的n次幂。
平方根:sqrt(n),求n的平方根。

三角函数:SIN(n),ASIN(n),n代表弧度。

字符函数

大小写转换函数

UPPER(char):转为大写

LOWER(char):转为小写

INITCAP(char):将首字母转为大写


获取子字符串函数

SUBSTR(char,[m[,n]]):char代表要截取的字符串,m代表截取的起始位置,n代表截取的位数。

n可以省略,省略后代表从m的位置截取到字符串末尾。m为0代表从首字母开始截取,m为负数,代表从字符串尾部开始倒数计算截取。


获取字符串长度函数

LENGTH(char)


字符串连接函数

CONCAT(char1,char2),与||操作符作用一致

select concat('ab','cd') from dual;

去除字串函数

TRIM(c2 from c1):从字符串c1中去除字符c2;

LTRIM(c1[,c2]):从c1的头部去除c2;RTRIM 右边,尾部去掉

TRIM(c1):只有一个参数,代表去除空格


替换函数

REPLACE(char,s_string[,r_string]):省略r_string用空格替换。


日期函数

系统时间
SYSDATE默认格式:DD-MON-RR

日期操作
ADD_MONTHS(date,i)
select add_months(sysdate,3),add_months(sysdate,-3) from dual;

NEXT_DAY(date,char),如果char的值是‘星期一’,则返回date指定日期的下周一是哪一天。

LAST_DAY(date):本月的最后一天是哪一天.

MONTHS_BETWEEN(date1,date2)表示两个日期之间相隔的月份;

EXTRACT(date from datetime)
 select extract(day from sysdate) from dual;

select extract(hour from timestamp '2015-10-1 17:25:13') from dual;

转换函数

修改日期格式:

然后更新props$这个表里的字段即可
update props$ set value = 'YYYY-MM-DD' where parameter = 'NLS_DATE_FORMAT';
然后重新启动数据库

更改会话日期格式

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

  这种修改方法,只对当前会话有效。注意,是对当前会话,而不是当前的sql*plus窗口。即如果你这样修改之后,又使用connect命令以其他用户连接到数据库或者是连接到其他的数据库,则这个日期格式就失效了,又恢复到缺省的日期格式。

日期转字符

TO_CHAR(date[,fmt[,params]]): select to_char(sysdate,'yyyymmdd') from dual;

字符转日期

TO_DATE(char[,fmt[,params]]):select to_date('2015-05-22','YYYY-MM-DD') FROM dual;
TO_DATE()按照系统默认格式显示日期

数字转字符

TO_CHAR(number [,fmt]): select to_char(-123.321,'S9999.00') from dual;
9:显示数字并忽略前面的0
0:显示数字,位数不足,用0补齐
S:加正负号

字符转数字

TO_NUMBER(char[,fmt])

在查询中使用函数

 查询1月入职员工:select * from users where extract(month from regdate)=1;
 替换:select replace(deptno,'10','信息技术') from users;
 截取身份证:select substr(cardid,7,9) from users;




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值