mysql学习第三天练习(日期和时间函数)

-- 日期和时间函数
-- 获取当前日期
select curdate(),current_date()
from dual
-- 返回服务器当前的日期和时间
select NOW(),SYSDATE()
from dual
-- 返回当前时间
select CURTIME()
from dual
-- 返回世界标准日期时间
select UTC_DATE(),UTC_TIME()
from dual
-- 返回两个日期相差时间
select TIMEDIFF('12:30:00','40000')
from dual
-- 返回两个时间相差天数
select DATEDIFF('2000-1-1','1999-12-31')
from dual
-- 日期加上一个时间间隔值
select DATE_ADD(NOW(),INTERVAL 1 DAY)
from dual
-- 日期间去一个时间间隔值
select DATE_SUB(NOW(),INTERVAL 1 DAY)
from dual
-- 选取日期时间的各个部分
select TIME(NOW()),DATE(NOW()),`YEAR`('2001-1-1')
from dual
-- 从日期中抽取出某个单独的部分或组合
select EXTRACT(YEAR FROM NOW())
from dual
-- 返回日期在一周、一月、一年中是第几天
select DAYOFWEEK(NOW()),DAYOFMONTH(NOW()),DAYOFYEAR(NOW())
from dual
-- 返回日期的星期和月份名称
select DAYNAME(NOW()),MONTHNAME(NOW())
from dual
-- 格式化日期
select DATE_FORMAT(NOW(),'%y年%m月%d')
from dual
-- 格式化时间
select DATE_FORMAT(NOW(),'%h时%m分%s秒')
from dual


-- 练习4
-- 1、查询服务器当前时间
select sysdate()
-- 2、查询部门10,20的员工截止到2000年1月1日,工资了多少周,入职的月份
select ceil(datediff('2000-01-01',hiredate)/7),extract(month from hiredate)
from emp
where deptno in(10,20)

-- 3、如果员工试用期6个月,查询职位不是MANAGER的员工姓名,
-- 入职日期,转正日期,入职日期是第多少个月,第多少周
select ename 姓名,hiredate 入职日期,date_add(hiredate,
interval 6 month) 转正日期,extract(month from hiredate) 
第多少个月,weekofyear(hiredate) 第多少周
from emp
where job <> 'MANAGER'

猜你喜欢

转载自www.cnblogs.com/makangning/p/9403673.html
今日推荐