1011.Oracle内置日期和数值处理函数

1.数值函数
求绝对值函数   abs(n);
求不小于n的整数   ceiling(n);
求不大于n的最大整数    floor(n)地板,向下
(三个函数都只有一个参数)
0
四舍五入函数   round(数值,精度m) m为正,小数点右边保留m位进行四舍五入;m为负,小数点左边保留m个零进行四舍五入。
0
截取函数  trunc(数值,位数m)默认(m无)去掉小数,m为正,小数点右边保留m位;m为负,小数点左边保留m个零。
0
取余数函数      mod(数值,数值m)
0
0
取随机数函数      dbms_random_value(数值m,数值n)取m到n之间的随机数
0
大小比较  greatest(m, n) 取出最大值; least(m, n) 取出最小值
0
 
2.日期函数
日期格式设置函数
      alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
0
字符转日期
   to_date('2016','yyyy') 不是年初,是本月年初
0
日期截取函数
      trunc(sysdate,‘yyyy’)
0
日期抽取
    extract(year | month | day from v_date ) 返回数值类型
    extract(hour | minute | second  from v_timestamp) 返回数值类型
修改日期
      月份:add_months(sysdate,1)
0
求月末
      last_day(sysdate) 会带上时分秒,不是凌晨
0
求下月初
      trunc(last_day(sysdate))+1  加一是默认加一天
0
日期d后第一周指定day的日期
next_day(d,day)  select next_day(sysdate,'Monday') from dual;(返回下周一的日期)
(day 格式有'Monday' 星期一 、'Tuesday' 星期二、'wednesday'  星期三、  'Thursday' 星期四、'Friday' 星期五
 、'Saturday' 星期六 、'Sunday' 星期日)
日期的特殊格式:
Y或YY或YYY 年的最后一位,两位,三位 select to_char(sysdate,'YYY') from dual;
Q 季度,1-3月为第一季度    select to_char(sysdate,'Q') from dual;
MM  月份数           select to_char(sysdate,'MM') from dual;
RM 月份的罗马表示 select to_char(sysdate,'RM') from dual; IV
month 用9个字符表示的月份名(英文) select to_char((Date '2016-09-01'),'month') from dual;
ww 当年第几周         select to_char(sysdate,'ww') from dual;
w 本月第几周         select to_char(sysdate,'w') from dual;
DDD 当年第几天,一月一日为001 ,二月一日032 select to_char(sysdate,'DDD') from dual;
DD 当月第几天 select to_char(sysdate,'DD') from dual;
D 周内第几天 select to_char(sysdate,'D') from dual; 如 sunday
DY 周内第几天缩写       select to_char(sysdate,'DY') from dual; 如 sun
hh12 12小时制小时数       select to_char(sysdate,'hh12') from dual;
hh24 24小时制小时数       select to_char(sysdate,'hh24') from dual;
Mi 分钟数            select to_char(sysdate,'Mi') from dual;
ss 秒数             select to_char(sysdate,'ss') from dual;
select to_char(systimestamp,'YYYY-MM-DD HH:24:mi:ssxff') from dual;
0
数据类型的隐式转换(容易出错)
0
 
posted @ 2021-01-12 00:27  bufuzhou  阅读(142)  评论(0编辑  收藏  举报