oracle系统函数(日期函数)
oracle系统函数(日期函数)
调用日期函数时,首先要明确两个概念,时间戳和日期是不同的,日期中包括年月日但不包括小时分钟秒,时间戳包括年月日小时分钟秒。在oracle中,一般情况下,函数中包含date字符的和日期有关,包含timestamp的函数和时间戳有关(时间戳可以理解为时间)。oracle中,日期一般以天为基本单位,时间相减时结果单位为天,时间与数字相加时,默认加对应数字的天数。
一、调用时无参无括号时间函数
1.返回系统当前日期sysdate
--该函数返回值没有时间戳
select sysdate from dual;
2.返回会话中的日期和时间localtimestamp
--不包括时区
select localtimestamp from dual;
3.返回会话时区中的当前日期和时间current_timestamp
--包括时区
select current_timestamp from dual;
4.返回当前会话时区中的当前日期current_date
select current_date from dual;
5.返回数据库时区设置dbtimezone
select dbtimezone from dual;
6.返回当前会话时区sessiontimezone
select sessiontimezone from dual;
7.变动日期时间数值interval
--设置数值代表秒,分,小时,天,月,年
例如:
interval '1' second 1秒
interval '1' minute 1分
interval '1' hour 1小时
interval '1' day 1天(系统默认)
interval '1' month 1月
interval '1' year 1年
select trunc(sysdate)+(interval '' second),--加1s
trunc(sysdate)+(interval '' hour),--加1个小时
trunc(sysdate)+(interval '' day),--加1天
trunc(sysdate)+1--加1天
from dual;
二、调用时有括号的日期函数
1.返回指定月数后的日期add_months()
select add_months(sysdate,3) from dual;
等价于
select trunc(sysdate)+interval '' month from dual;
2.返回本月最后一天的日期last_day()
select last_day(sysdate) from dual;
返回本月第一天
select trunc(sysdate,'month') from dual;
3.返回2个日期间隔月数month_between()
select months_between(sysdate,to_date('2015-09-01','YYYY-MM-DD'))
from dual;
4.四舍五入后的期间第一天round()
select sysdate,
round(sysdate),--最近0点日期
round(sysdate,'day'),--最近星期日
round(sysdate,'month'),--最近月初
round(sysdate,'q'),--最近季出日期
round(sysdate,'year')--最近年初日期
from dual;
5.返回日期所在期间的第一天trunc()
select trunc(sysdate),--今天日期
trunc(sysdate,'day'),--本周星期日,等价于trunc(sysdate,'D')和trunc(sysdate,'d')
trunc(sysdate,'month'),--本月初,若trunc(sysdate,'M')和trunc(sysdate,'m')则执行出错
trunc(sysdate,'q'),--本季初日期
trunc(sysdate,'year')--本年初日期,等价于trunc(sysdate,'Y')和trunc(sysdate,'y')
from dual;
6.返回下周某一天的日期next_day(),可以返回下周的周一到周日
select sysdate,
next_day(sysdate,'星期一'),--返回下周星期一
next_day(sysdate,'星期二')--返回下周星期二
from dual;
7.提取时间日期中数据extract()
--提取小时,分钟,秒时需要加上timestamp
select
extract(minute from timestamp '2015-2-16 2:38:40'),--timestamp时间戳
extract(hour from timestamp '2015-2-16 2:38:40'),
--extract(hour from timestamp(sysdate)),错误
extract(hour from localtimestamp),--返回值错误
extract(hour from current_timestamp),
extract(day from sysdate),--日
extract(month from sysdate),
extract(year from sysdate)
from dual;
总结:关于日期的函数还是挺多的,但是常用的一般为sysdate,localtimestramp,trunc,interval和extract,重点掌握这些应该足够了,其他不常用的可以用的时候再查找。
oracle系统函数(日期函数)的更多相关文章
- javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个 ...
- 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数
第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; ...
- Oracle函数——日期函数
Oracle中的时间类型只有date和TIMESTAMP,TIMESTAMP是比date更精确的类型.日期时间函数用于处理时间类型的数据,Oracle以7位数字格式来存放日期数据,包括世纪.年.月.日 ...
- Oracle数据库之日期函数
今天给大家介绍一下oracle数据中的日期函数的用法.废话不多说,我们看一下oracle给我们提供了那些函数? 1.sysdate 用途:获取当前系统时间. 2.to_date('字符类型','日期类 ...
- Oracle之单行函数(字符串函数/数字函数/转换函数/日期函数/通用函数)
虚拟表DUAL介绍: dual是一张虚拟表,只有一行一列,用来构成select的语法规则. Oracle的查询中,必须使用"select 列- from 表"的完整语法,当查询单行 ...
- SQL 标量函数-----日期函数 day() 、month()、year()
select day(createtime) from life_unite_product --取时间字段的天值 select month(createtime) from life_unite_p ...
- SQL标量函数-日期函数
select day(createtime) from life_unite_product --取时间字段的天值 select month(createtime) from life_uni ...
- MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)
# 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...
- SQL 标量函数-----日期函数 day() 、month()、year() 转载
select day(createtime) from life_unite_product --取时间字段的天值 select month(createtime) from life_u ...
- SQL 标量函数-----日期函数datediff()、 day() 、month()、year()
select day(createtime) from life_unite_product --取时间字段的天值 select month(createtime) from life_uni ...
随机推荐
- 阿里云 linux 找回mysql root密码
不小心手贱修改了密码,而且使用phpMyAdmin这种自动生成密码,又没记录密码,真实醉了 搜了半天,问题多多,想过回滚磁盘到昨天,在阿里云已经买了付费找密码 最后终于自己解决了,其实很简单 cd ...
- zhly
5. 百叶002 名字2008 1.新浪 阿里矢量图库账号 15031116087 名字2008 2.acdsee 账号 1173209945 同密码一样 3.zhly 我的名字2016 ...
- VMware Workstation Pro v14.0
早些时候戴尔旗下的虚拟化软件 VMware Pro v14 版正式发布,本次更新主要是优化对创意者更新版的支持. 创意者更新版是目前微软 Windows 10 系统的最新版本,该版本亦会在十月份成为C ...
- swoole帮助文档
入门指引 [编辑本页] Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同.普通的扩展只是提供一个库函数.而swoole扩展在运行后会接管PHP的控制权,进入事件循环.当IO事件发生后,swo ...
- 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...
- WCF实现REST服务
REST 表述性状态转移(Representational State Transfer,REST),不是一种标准,而是一种软件架构风格. 基于REST的服务与基于SOAP的服务相比,性能.效率和易用 ...
- hdu2665 主席树(可持久化线段树)
题意:给定一个数组,每次查询第l到r区间的第k大值 解法嘛,当然是主席树,主席树即可持久化线段树,什么叫可持久化呢,就是指能够访问历史版本的数据结构,那么对于某些只能离线处理的题目强制在线之后 ,可以 ...
- Nhibernate Fluent INNER JOIN 查询
var list = session.QueryOver<PluginEntity>().JoinQueryOver(o => o.PluginModule, NHibernate. ...
- DQN 处理 CartPole 问题——使用强化学习,本质上是训练MLP,预测每一个动作的得分
代码: # -*- coding: utf-8 -*- import random import gym import numpy as np from collections import dequ ...
- 慕课网python分布式爬虫打造搜索引擎视频中爬取伯乐网文章
代码:https://github.com/longbigbeard/scrapy_demo