Oracle函数-单行函数-数字、日期、日期处理函数
admin
2023-04-29 19:44:31
0

Oracle函数-单行函数-数字、日期、日期处理函数


函数的分类

单行函数:一个input对应一个output,input和output存在一一对应的关系 如lower

组函数:多个input,但是只对应一个output。如 sum()


==========================================================


单行函数

特点:

每行返回一个结果,输入输出存在一一对应的关系

能嵌套使用 ,一个函数的输出能做另外一个函数的输入 如:select lowner(upper('aa')) from dual;

传入的变量可以是列的值,也可以是表达式。 如 select lower(ename) from emp;


==========================================================


1、数字函数

对数字进行操作,是加减乘除的补充

SQL>select round(45.926,2) from dual;    --四舍五入,第二位保留几个小数点

SQL>select trunc(45.926,2) from dual;      --直接截取,不进行四舍五入

SQL>select mod(10,3) from dual;    --求余数



2、日期函数

oracle数据库存储日期的默认显示格式是DD-MON-YY

修改日期显示格式:

alter session set nls_date_format='<需要的格式>';



3、SYSDATA:查看系统时间

SQL>select sysdate from dual;  --查看系统当前时间

SQL>select sysdate,sysdate-7 from dual;   --减1星期

SQL>select sysdate,sysdate-1 from dual;   --减1天

SQL>select sysdate,sysdate-1/24 from dual;  --减1小时

SQL>select sysdate,sysdate-1/24/60 from dual;  --减1分钟

SQL>select sysdate,sysdate-1/24/60/60 from dual;  --减1秒



4、日期处理函数

现有日期加上或者减去一个值会得到一个日期。如 select sysdate,sysdate-7 from dual;

两个日期相减可以得到两个日期的天数(时间间隔) 如 select (sysdate-hiredate)/7 weeks from emp;

①months_between 两个日期之间有多少个月

SQL>select months_between(sysdate,sysdate-1000) from dual;


②add_months 指定日期下加多少个月

SQL>select add_months(sysdate,2) from dual;


③last_date 指定日期的最后一天

SQL>select last_day(sysdate) from dual; 



5、日期的四舍五入:

对年份,按照1-6月,7-12月进行四舍五入

对月份,按照1-15,15-31日进行四舍五入

对日,按照星期天到星期三,注意:每周的开始是星期天。


SQL> select sysdate from dual;


SYSDATE

------------

16-MAY-16                       当前是16年5月16日


==========================================================


SQL> select round(sysdate,'year') from dual;

----对年进行四舍五入,也就是精确到年份,现在是5月,没有过6月,所以结果为16-1-1


ROUND(SYSDATE)

------------

01-JAN-16


==========================================================


SQL> select round(sysdate+60,'year') from dual;  -5月16日加60天,已经到了7月,所以结果为17-1-1

ROUND(SYSDATE)

------------

01-JAN-17


==========================================================


SQL> select round(sysdate,'month') from dual;

-----对月份进行四舍五入,也就是精确到月份。现在是16号,过了15,号 所有结果为下一个月1日

ROUND(SYSDATE)

------------

01-JUN-16


==========================================================


SQL> select round(sysdate+22,'month') from dual;

----现在是5月16号,22天后是7月7日, 7号没有过15,所以结果为16-07-01

ROUND(SYSDATE)

------------

01-JUL-16


==========================================================


SQL> !date

Mon May 16 22:47:25 CST 2016


2016年5月16日,周一,  本周的起始时间是 5月15日(每周日为一个星期的开始,周六为一个星期的结束)


==========================================================


SQL>select round(sysdate,'day') from dual;

----对日进行四舍五入,也就是看星期几 5月16日是星期一,没过星期三,所以不“进位”,显示本周第一天


ROUND(SYSDATE)

------------

15-MAY-16


==========================================================


SQL>select round(sysdate+3,'day') from dual;

----16日是星期一,加三天就是星期四,超过了星期三,所以进位,显示下一周的星期一  


==========================================================


SQL>select round(sysdate-3,'day') from dual;

----星期一减三天是上个星期的星期五,超过了星期三,所以进位,显示当前周的下一个星期一,也就是15号



相关内容

热门资讯

豫篮联赛:赛场劲吹“文旅风” 汉服小姐姐在看台上翩翩起舞。胡斌 摄洛阳队球员上篮。胡斌 摄“五一”小长假后,豫篮联赛伴随着初夏的热...
凡星闪耀丨《武林外传》中小米扮... 张清(右)在免费餐厅为大家服务。张清在《武林外传》中饰演“丐帮弟子”小米(右)。在郑州的城市烟火气中...
卫华:做走向世界的“起重管家” 卫华集团智能生产车间。常晶晶 摄作为全省服务业大会的参会企业,河南卫华重型机械股份有限公司(以下简称...
在加快国际消费中心城市建设中彰... “服务业是推动经济高质量发展的重要引擎,也是强化国家中心城市核心竞争力的重要支柱。”5月12日,省委...
坚定不移沿着习近平总书记指引的... 壮美的郑州黄河文化公园。河南日报资料图片 河南日报全媒体记者 聂冬晗 摄来郑州,到哪里慢赏大河风光?...
双庆同辉映初心——黄河科技学院... 2026年5月12日,黄河科技学院附属医院迎来开诊七周年纪念日,恰逢第115个国际护士节。当天,医院...
驻美大使谢锋回应中美热点问题 据中国驻美国大使馆5月13日消息,5月5日,中国驻美国大使谢锋就美国总统特朗普访华和中美关系接受美国...
邻妹妹帮办 | 占地1.2万㎡... “杞县有个婚礼庄园,6 大主题特色宴会厅,可同时容纳2000人聚餐,在未变更工业用地用途、未经消防验...
国台办:和平统一后,台湾同胞民... 5月13日,国务院台办举行例行新闻发布会。有记者问,国务院台办发言人在之前发布会上已分别阐释了和平统...
美国16位商业巨头与特朗普一同... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...