日期函数(学习笔记)

--********************日期函数
--获取当前系统时间
SELECT SYSDATE FROM dual;
--查询距离今天3天后,和3天前的日期
SELECT SYSDATE 今天,
SYSDATE-3 三天前,
SYSDATE+3 三天后
FROM dual;
--查询出每个员工入职到今天的入职天数,以及十天前每个员工的入职天数
SELECT e.hiredate 入职日期,
SYSDATE 今天,
SYSDATE-e.hiredate 入职到今天的天数,
SYSDATE-10-e.hiredate 十天前的入职天数
FROM emp e;

--使用trunc截取天数
SELECT e.hiredate 入职日期,
SYSDATE 今天,
trunc(SYSDATE-e.hiredate) 入职到今天的天数,
trunc(SYSDATE-10-e.hiredate) 十天前的入职天数
FROM emp e;
--MONTHS_BETWEEN(日期1,日期2)求出2个日期之间的月数
--ADD_MONTHS(日期,数字) 求出在指定日期上加或者减指定的月数,数字,可以为正也可以为负
--NEXT_DAY(日期,星期几)求出下个星期的具体日期
--LAST_DAY(日期 )指定日期的最后一天的日期
--EXTRACT(格式 FROM 日期)将日期分豁,或者计算2个日期的间隔

--ADD_MONTHS(日期,数字)
SELECT SYSDATE 当前日期,
add_months(SYSDATE,3) 三个月之后的日期,
add_months(SYSDATE,-3) 三个月之后的日期,
add_months(SYSDATE,60) 六十个月之后的日期
FROM dual;
--查询所有员工在入职3个月后的日期
SELECT e.empno,e.ename,e.hiredate,add_months(e.hiredate,3)入职三个月的日期
FROM emp e;
--NEXT_DAY(日期,星期几)
SELECT SYSDATE 当前日期,
next_day(SYSDATE,‘星期五‘) 下个星期五,
next_day(SYSDATE,‘星期一‘) 下个星期一
FROM dual;
--LAST_DAY()一个月的最后一天日期
SELECT SYSDATE,last_day(SYSDATE) FROM dual;

--查询所有在入职日期在当月最后第三天入职的员工,最后一天-2
SELECT e.empno,e.ename,e.hiredate
FROM emp e
WHERE e.hiredate=last_day(e.hiredate)-2;
--MONTHS_BETWEEN
--查询每个员工的编号,姓名,入职日期,入职的月数和年份
--月数MONTHS_BETWEEN(SYSDATE,hiredate)年数MONTHS_BETWEEN(SYSDATE,hiredate)/12

SELECT e.empno,e.ename,e.hiredate,
trunc(months_between(SYSDATE,e.hiredate)) 入职的月数,
trunc(months_between(SYSDATE,e.hiredate)/12) 入职的年数
FROM emp e;
--查询每个员工的编号,姓名,入职日期,已经入职的年份,月份和天数
--总月数,和12求模就是月数
--日用当前日期-(入职日期+月数)
SELECT e.empno,e.ename,e.hiredate,
TRUNC(months_between(SYSDATE,e.hiredate)/12) 年,
TRUNC(MOD(months_between(SYSDATE,e.hiredate),12)) 月,
TRUNC(SYSDATE-add_months(e.hiredate,months_between(SYSDATE,e.hiredate))) 日
FROM emp e;
--extract函数
SELECT SYSDATE,
EXTRACT(YEAR FROM SYSDATE)年,
EXTRACT(MONTH FROM SYSDATE) 月,
EXTRACT(DAY FROM SYSDATE) 日
FROM dual;

--从时间戳中取出年,月,日,时,分,秒
SELECT SYSTIMESTAMP,
EXTRACT(YEAR FROM SYSTIMESTAMP)年,
EXTRACT(MONTH FROM SYSTIMESTAMP) 月,
EXTRACT(DAY FROM SYSTIMESTAMP) 日,
EXTRACT(HOUR FROM SYSTIMESTAMP) 时,
EXTRACT(MINUTE FROM SYSTIMESTAMP) 分,
EXTRACT(SECOND FROM SYSTIMESTAMP) 秒
FROM dual;

时间: 2024-10-28 23:12:47

日期函数(学习笔记)的相关文章

C++运算符重载为友元函数学习笔记

初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 下面的两种情况发生,则我们需要将运算符重载为类的友元函数 <1>成员函数不能满足要求 <2>普通函数又不能访问类的私有成员时 举例说明: class Complex{ double real, imag; public: Complex(double r, double i):real(r), imag(i){ }; Complex operator+(double r); };

mysql 时间和日期函数学习

mysql 时间和日期函数学习 为了方便使用了比较智能的mysql客户端工具mycli,关于这个工具的介绍可以在另一篇文章(http://watchman110.blog.51cto.com/9194028/1687953)里了解! 1,now()函数,获得当前日期和时间 mysql [email protected]:(none)> SELECT NOW() +---------------------+ | NOW()       | |---------------------| |201

contiki-main.c 中的process系列函数学习笔记 &lt;contiki学习笔记之六&gt;

说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ------------------------------------------------------------------------------------------------------------------------------------- 根据上一个笔记里面添加的printf()语句的打印信息提示,hello world 打印是在执行了 1 autostart_

Swift2.0 函数学习笔记

最近又有点忙,忙着找工作,忙着适应这个新环境.现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了.今天这篇笔记,记录的就是函数的使用.下面这些代码基本上是理清楚了函数的额使用,但还有一块“闭包”的内容,后面我们单独写一块出来. // 形参传递的过程中,由于没有写外部形参名称,第一个形参的外部形参名字可以省略,第二的的不可以省略 let zxtest = testString(1, zc: 2) print(zxtest) // 返回值是一个元组的形式返回到,参数的传递和

MYSQL存储过程和函数学习笔记

学至Tarena金牌讲师何山,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和函数,可以避免开发人员重复编写相同的SQL语句. MYSQL存储过程和函数是保存在服务器中,在服务器中存储和执行,可以减少客户端和服务器端之间数据传输的消耗. 存储过程就是一组已经保存在数据库中的语句,并且可以随时地调用. 存储过程允许标准组件式编程,存储过程在被创建以后可以在程序中被多次调用而

函数(学习笔记)

函数(存储函数)也是一种较为方便的存储结构,用户定义函数可以被SQL语句或者PL/SQL直接调,函数和过程最大的区别在于,函数可以有返回值,而过程只能依靠OUT 或者IN OUT返回数据定义函数语法:CREATE [OR REPLACE] FUNCTION 函数([参数,...]])RETURN 返回值类型 [AUTHID [DEFINER | CURRENT_USER]] AS || IS [PRAGMA AUTONOMOUS_TRANSACTION;] 声明部分;BEGIN 程序部分; [R

pythonの函数学习笔记(一)

函数是可以实现一些特定功能的小方法或小程序定义函数function的方法:def function_name(arg1,arg2[,...]): statement [return value]注意事项:1.def开头,代表定义函数,def和函数名中间要敲一个空格:2.返回值不是必须的,如果没有renturn语句,则默认返回值None:3.函数名必须以下划线或字母开头,可以包含任意字母.数字或下划线的组合,区分大小写且不能是保留字: py使用名称空间的概念存储对象,这个名称空间就是对象作用的区域

generator函数学习笔记

一.基本概念 Generator函数是一种可以暂停执行,返回iterator对象的函数,yield是暂停标识 function* gen(){ yield 1; yield 2; } Generator函数在function后面有一个*,内部有yield语句 function* gen(){ yield 1; yield 2; return '1' } let g = gen(); //调用Generator函数返回遍历器对象 console.log(g.next())//{"value&quo

C++11 virtual函数学习笔记

#include<iostream> #include<string> using namespace std; class Base { public: Base(){} ~Base(){} public: virtual void f1(int x){ cout << "baseclass: f1() " << x << endl; } virtual void f2()final{ cout << "

PHP 函数学习笔记

一. 什么是函数为什么要用函数 函数是一段被命名的,完成特定的任务的代码.函数可以节省编译时间,无论调用多少次 都仅在所在页面编译一次,同时易维护,在易维护的同时也提高了代码的可读性. 二. 调用函数 1 $somevalue = function_name( [parameter, ...]); 三. 定义函数 1 function [&] function_name( [parameter[, ...]]){ 2 statment list 3 } 语句里面可以是HTML内容,甚至可以是一个