日期操作

select sysdate,add_months(sysdate,12) from dual; -- + 1 year
select sysdate,add_months(sysdate,1) from dual; -- + 1 month
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; -- + 1 week
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; -- + 1 day
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; -- + 1 hour
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; -- + 1 min
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; -- + 1 second select sysdate,add_months(sysdate,-12) from dual; -- - 1 year
select sysdate,add_months(sysdate,-1) from dual; -- - 1 month
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; -- - 1 week
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; -- - 1 day
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; -- - 1 hour
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; -- - 1 min
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; -- - 1 second

日期处理

select sysdate,to_char(sysdate,'yyyy-mm-dd HH24:MI:SS') from dual;

select sysdate,to_char(sysdate,'yyyy') from dual;--年
select sysdate,to_char(sysdate,'Q') from dual;--季度
select sysdate,to_char(sysdate,'mm') from dual;--月
select sysdate,to_char(sysdate,'dd') from dual;--日
select sysdate,to_char(sysdate,'ddd') from dual;--年中的第几天
select sysdate,to_char(sysdate,'WW') from dual;--年中的第几个星期
select sysdate,to_char(sysdate,'W') from dual;--该月的第几个星期
select sysdate,to_char(sysdate,'D') from dual;--周中的第几天
select sysdate,to_char(sysdate,'hh') from dual;--12进制 的小时
select sysdate,to_char(sysdate,'hh24') from dual;--24进制 的小时
select sysdate,to_char(sysdate,'Mi') from dual;--分钟
select sysdate,to_char(sysdate,'ss') from dual;--秒

常用的日期操作

-- 得到当前的日期
select sysdate from dual; -- 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual; -- 得到当天的最后一秒 x年x月x日 23:59:59
select trunc(sysdate)+0.99999 from dual; -- 得到明天凌晨0点0分0秒的日期
select trunc(sysdate)+1 from dual; -- 得到本月1号的日期
select trunc(sysdate,'mm') from dual; -- 得到下个月1号的日期
select trunc(add_months(sysdate,1),'mm') from dual; -- 得到当月的最后一天
select last_day(sysdate),
last_day(trunc(sysdate)),
trunc(last_day(sysdate)),
trunc(add_months(sysdate,1),'mm') - 1
from dual; select * from all_objects; -- 得到一年的每一天
select trunc(sysdate,'yyyy')+ rn -1 date0
from
(select rownum rn from all_objects
where rownum<366); -- 判断是闰年还是平年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;
-- 解析
select trunc(sysdate,'y') from dual;--获取当前年份的1月1日
select trunc(sysdate,'y')+31 from dual;--获取当前年份的2月1日
select to_char(last_day(trunc(sysdate,'y')+31),'dd') from dual;--获取2月份的最后一天

注意

  • ALL_OBJECTS describes all objects accessible to the current user. 描述当前用户有访问权限的所有对象
  • DBA_OBJECTS describes all objects in the database. 描述了数据库中的所有对象
  • USER_OBJECTS describes all objects owned by the current user. 描述了当前用户所拥有的所有对象

千万不要觉得all_和dba_视图都是所有对象的意思, all_和权限有关;

所以出现【不同用户访问all_objects视图,相同过滤条件,结果不同 (例如:"A用户访问all_objects视图过滤B.T1表有数据,而C用户也访问all_objects视图过滤B.T1表却没有数据" )】是正常的,是因为C用户没有访问B.T1表权限,用dba_objects可以解决;

所以适当的选择 dba_
和all_*视图。

参考

sql基础知识:日期的常用用法的更多相关文章

  1. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  2. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  3. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  4. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

  8. 常见SQL语句和SQL基础知识

    引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name   k ...

  9. SQL 基础知识终极指南

    什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...

  10. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

随机推荐

  1. 将ubuntu的id_rsa秘钥转为putty的ppk格式

    1.使用putty的puttygen.exe: 2.导入需要转换的秘钥 3.保存私钥

  2. IntegerCache类

    先看代码实例现象: 问题:为什么都是比较数值,第一个为true,第二个确为false呢? 查找源码(java.lang.Integer),看到如下代码: /** * Cache to support ...

  3. listener监听器

    前言:之前写了一篇关于Filter的文章:http://tianweili.github.io/blog/2015/01/26/java-filter/,现在再来一篇Listener的,Filter和 ...

  4. 算法入门笔记------------Day1

    1.C语言使用%d显示float值,不会把float值转换为近似的int值,而是显示垃圾值,使用%f显示int值,也不会把该int值转换为浮点值 2.三位数反转:输入一个三位数,分离它的百位,十位和个 ...

  5. linux琐碎命令学习

    kill -l会把linux的信号都列出来.1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS 8) SIG ...

  6. Hyper-V初涉:Hyper-V虚拟机常规操作

    a. 连接到虚拟机与开机 在Hyper-V管理器中双击待启动的虚拟机或在待启动的虚拟机上右键选择"启动"即可完成连接虚拟机的操作. 若此时虚拟机正在运行则直接进入虚拟机界面,若虚拟 ...

  7. swift的运算符

    1.什么是运算符?它有什么作用? 运算符是一种特定的符号或者表达式.它用来验证.修改.合并变量. 2.运算符有哪些? 运算符有很多,很多朋友学的很烦.这里我依据它的作用把它分为几块来介绍: a:赋值运 ...

  8. Bootstrap库之Modals

    Bootstrap库之Modals. Bootstrap是Twitter推出的一个开发工具包,包含了一些比较常用的CSS,JavaScript代码.使用Bootstrap可以加快前端开发的速度.本站( ...

  9. Teamcenter 2007 "由于某些意外的 DBMS 错误失败"

    PLM系统实施过程中经常需要做整个系统的克隆备份.Teamcenter2007在做基于Oracel的系统克隆时,用exp功能导出数据表,部署在目标机器上时会遇到DBMS错误,导致后续DB写操作无法进行 ...

  10. C++内存对齐的理解

    程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式. 编译器中提供了#pragma pack(n)来设 ...