数据库常见时间函数的用法
2016-11-14 15:10
531 查看
1、MySQL 数据库
日期格式转换:date_format(date,format), time_format(time,format)
使用DATE_FORMAT(数据库字段,'%Y%m%d')将时间类型字段格式为"yyyy-mm-dd"字符串格式
str_to_date(数据库字段,'%m.%d.%Y')将字符串类型字段格式为"yyyy-mm-dd"时间格式
2、SQL server 数据库
---获得系统当前时间
select getdate() ---2016-11-14 10:40:40.987
---在指定日期中增减时间间隔 dateadd
select dateadd(day,1,getdate()) ---2016-11-15 10:41:22.843
select dateadd(day,-1,getdate()) ---2016-11-13 10:41:47.830
select dateadd(month,1,getdate()) --2016-12-14 10:42:10.330
select dateadd(month,-1,getdate())--2016-10-14 10:42:25.913
select dateadd(year,1,getdate()) --2017-11-14 10:43:03.557
select dateadd(year,-1,getdate()) --2015-11-14 10:43:19.120
---返回指定日期之间的时间间隔
select datediff(day,'2016-11-18','2016-10-01') -- -48
select datediff(day,'2016-10-01','2016-11-18') -- 48
select datediff(month,'2015-12-01','2016-11-18') --11
select datediff(month,'2016-12-01','2015-11-18') --13
select datediff(year,'2016-12-01','2015-11-18') -- -1
select datediff(year,'2015-12-01','2016-11-18') -- 1
--select getdate() ---2016-11-14 10:40:40.987
select getdate() --2016-11-14 11:13:28.000
---返回指定日期的单独部分
select datepart(mm,getdate()) --11
select datepart(yy,getDate()) --2016
select datepart(dd,getdate()) --14
select datepart(dy,getdate()) --319
select datepart(wk,getdate()) --47
select datepart(dw,getdate()) --2
select datepart(qq,getdate()) --4
select datepart(hh,getdate()) --11
select datepart(mi,getdate()) --15
select datepart(ss,getdate()) --6
等同于:
select year(getdate())
select month('2016-02-14 11:36:19.727')
select DAY(getdate()) --14
---获得指定时间类型部分
select datename(year, getdate()) ---2016
select datename(weekday, getdate()) ---星期几
--日期与字符串之间的转换函数
select cast('2016-11-14 11:24:43.900' as date)
select convert(date,'2016-11-14 11:24:43.900')
select CONVERT(varchar, getdate(), 120 ) ---2016-11-14 11:08:10
select CONVERT(varchar(10),getdate(),120)
select CONVERT(varchar, getdate(), 111 ) --2016/11/14
select CONVERT(varchar, getdate(), 112 ) --20161114
select CONVERT(varchar, getdate(), 102 ) --2016.11.14
-- 参数 结果
-- 100 05 8 2006 9:27PM
-- 101 05/08/2006
-- 102 2006.05.08
-- 103 08/05/2006
-- 104 08.05.2006
-- 105 08-05-2006
-- 106 08 05 2006
-- 107 05 08, 2006
-- 108 21:30:51
-- 109 05 8 2006 9:31:11
-- 110 05-08-2006
-- 111 2006/05/08
-- 112 20060508
-- 113 08 05 2006 21:31:59
-- 114 21:33:06:503
-- 120 2006-05-08 21:33:38
3、oracle时间处理函数
(1)使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
(2)使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);
to_char(sysdate,'q') 季
to_char(sysdate,'yyyy')年
to_char(sysdate,'mm')月
to_char(sysdate,'dd')日
to_char(sysdate,'d')星期中的第几天
to_char(sysdate,'DAY')星期几
to_char(sysdate,'ddd')一年中的第几天
(3)TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
(4) TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间按的单独部分 |
DATE_ADD() | 给日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
使用DATE_FORMAT(数据库字段,'%Y%m%d')将时间类型字段格式为"yyyy-mm-dd"字符串格式
str_to_date(数据库字段,'%m.%d.%Y')将字符串类型字段格式为"yyyy-mm-dd"时间格式
2、SQL server 数据库
函数 | 描述 |
---|---|
GETDATE() | 返回当前日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
select getdate() ---2016-11-14 10:40:40.987
---在指定日期中增减时间间隔 dateadd
select dateadd(day,1,getdate()) ---2016-11-15 10:41:22.843
select dateadd(day,-1,getdate()) ---2016-11-13 10:41:47.830
select dateadd(month,1,getdate()) --2016-12-14 10:42:10.330
select dateadd(month,-1,getdate())--2016-10-14 10:42:25.913
select dateadd(year,1,getdate()) --2017-11-14 10:43:03.557
select dateadd(year,-1,getdate()) --2015-11-14 10:43:19.120
---返回指定日期之间的时间间隔
select datediff(day,'2016-11-18','2016-10-01') -- -48
select datediff(day,'2016-10-01','2016-11-18') -- 48
select datediff(month,'2015-12-01','2016-11-18') --11
select datediff(month,'2016-12-01','2015-11-18') --13
select datediff(year,'2016-12-01','2015-11-18') -- -1
select datediff(year,'2015-12-01','2016-11-18') -- 1
--select getdate() ---2016-11-14 10:40:40.987
select getdate() --2016-11-14 11:13:28.000
---返回指定日期的单独部分
select datepart(mm,getdate()) --11
select datepart(yy,getDate()) --2016
select datepart(dd,getdate()) --14
select datepart(dy,getdate()) --319
select datepart(wk,getdate()) --47
select datepart(dw,getdate()) --2
select datepart(qq,getdate()) --4
select datepart(hh,getdate()) --11
select datepart(mi,getdate()) --15
select datepart(ss,getdate()) --6
等同于:
select year(getdate())
select month('2016-02-14 11:36:19.727')
select DAY(getdate()) --14
---获得指定时间类型部分
select datename(year, getdate()) ---2016
select datename(weekday, getdate()) ---星期几
--日期与字符串之间的转换函数
select cast('2016-11-14 11:24:43.900' as date)
select convert(date,'2016-11-14 11:24:43.900')
select CONVERT(varchar, getdate(), 120 ) ---2016-11-14 11:08:10
select CONVERT(varchar(10),getdate(),120)
select CONVERT(varchar, getdate(), 111 ) --2016/11/14
select CONVERT(varchar, getdate(), 112 ) --20161114
select CONVERT(varchar, getdate(), 102 ) --2016.11.14
-- 参数 结果
-- 100 05 8 2006 9:27PM
-- 101 05/08/2006
-- 102 2006.05.08
-- 103 08/05/2006
-- 104 08.05.2006
-- 105 08-05-2006
-- 106 08 05 2006
-- 107 05 08, 2006
-- 108 21:30:51
-- 109 05 8 2006 9:31:11
-- 110 05-08-2006
-- 111 2006/05/08
-- 112 20060508
-- 113 08 05 2006 21:31:59
-- 114 21:33:06:503
-- 120 2006-05-08 21:33:38
3、oracle时间处理函数
(1)使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
(2)使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);
to_char(sysdate,'q') 季
to_char(sysdate,'yyyy')年
to_char(sysdate,'mm')月
to_char(sysdate,'dd')日
to_char(sysdate,'d')星期中的第几天
to_char(sysdate,'DAY')星期几
to_char(sysdate,'ddd')一年中的第几天
(3)TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
(4) TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])
相关文章推荐
- Python SQLite3数据库日期与时间常见函数用法分析
- oracle 数据库一些单行函数的简单用法
- 时间类型的转换,SQL中CONVERT转化函数的用法
- TimeSpan 用法 求离最近发表时间的函数
- SQL范围内时间函数datediff的用法
- Sql server中时间函数用法详解
- sql 数据库中时间的用法
- SQL中常见函数的用法
- DateDiff 函数的用法 SQL时间比较
- 时间类型的转换,SQL中CONVERT转化函数的用法
- 一篇非常好的介绍c、c++中有关时间函数的用法
- mysql 时间函数用法 集合
- TimeSpan 用法 求离最近发表时间的函数
- 时间类型的转换,SQL中CONVERT转化函数的用法 (转载)
- Sql server中时间函数用法详解
- 时间类型的转换,SQL中CONVERT转化函数的用法
- TimeSpan 用法 求离最近发表时间的函数
- 时间类型的转换,SQL中CONVERT转化函数的用法
- 数据库Mysql--(查看表结构、处理时间函数)
- sql时间函数的用法