sqlserver 转化函数
--查询系统当前时间
select GETDATE() as date;
------------------------- 0-14 ------------------
select CONVERT(VARCHAR(200),GETDATE(),0); //07 30 2019 7:17PM
select CONVERT(VARCHAR(200),GETDATE(),1); //07/30/19
select CONVERT(VARCHAR(200),GETDATE(),2); //19.07.30
select CONVERT(VARCHAR(200),GETDATE(),3); //30/07/19
select CONVERT(VARCHAR(200),GETDATE(),4); //30.07.19
select CONVERT(VARCHAR(200),GETDATE(),5); //30-07-19
select CONVERT(VARCHAR(200),GETDATE(),6); //30 07 19
select CONVERT(VARCHAR(200),GETDATE(),7); //07 30, 19
select CONVERT(VARCHAR(200),GETDATE(),8); //19:18:55
select CONVERT(VARCHAR(200),GETDATE(),9); //07 30 2019 7:19:06:660PM
select CONVERT(VARCHAR(200),GETDATE(),10); //07-30-19
select CONVERT(VARCHAR(200),GETDATE(),11); //19/07/30
select CONVERT(VARCHAR(200),GETDATE(),12); //190730
select CONVERT(VARCHAR(200),GETDATE(),13); //30 07 2019 19:20:05:253
select CONVERT(VARCHAR(200),GETDATE(),14); //19:20:13:120 到 14 截止
------------------------- 20-25 ------------------
select CONVERT(VARCHAR(200),GETDATE(),20); //2019-07-30 19:21:41 到秒
select CONVERT(VARCHAR(200),GETDATE(),21); //2019-07-30 19:21:52.830 到毫秒
select CONVERT(VARCHAR(200),GETDATE(),22); //07/30/19 7:22:26 PM
select CONVERT(VARCHAR(200),GETDATE(),23); //2019-07-30 到天
select CONVERT(VARCHAR(200),GETDATE(),24); //19:22:38 到分钟
select CONVERT(VARCHAR(200),GETDATE(),25); //2019-07-30 19:22:48.460 到 25 截止
------------------------- 100-115 ------------------
select CONVERT(VARCHAR(200),GETDATE(),100); //07 30 2019 7:23PM
select CONVERT(VARCHAR(200),GETDATE(),101); //07/30/2019
select CONVERT(VARCHAR(200),GETDATE(),102); //2019.07.30 到天
select CONVERT(VARCHAR(200),GETDATE(),103); //30/07/2019
select CONVERT(VARCHAR(200),GETDATE(),104); //30.07.2019
select CONVERT(VARCHAR(200),GETDATE(),105); //30-07-2019
select CONVERT(VARCHAR(200),GETDATE(),106); //30 07 2019
select CONVERT(VARCHAR(200),GETDATE(),107); //07 30, 2019
select CONVERT(VARCHAR(200),GETDATE(),108); //19:25:28 到分钟
select CONVERT(VARCHAR(200),GETDATE(),109); //07 30 2019 7:25:36:943PM
select CONVERT(VARCHAR(200),GETDATE(),110); //07-30-2019
select CONVERT(VARCHAR(200),GETDATE(),111); //2019/07/30
select CONVERT(VARCHAR(200),GETDATE(),112); //20190730
select CONVERT(VARCHAR(200),GETDATE(),113); //30 07 2019 19:26:09:960
select CONVERT(VARCHAR(200),GETDATE(),114); //19:26:20:930
select CONVERT(VARCHAR(200),GETDATE(),120); //2019-07-30 19:27:19
select CONVERT(VARCHAR(200),GETDATE(),121); //2019-07-30 19:27:29.277
select CONVERT(VARCHAR(200),GETDATE(),126); //2019-07-30T19:27:58.680
select CONVERT(VARCHAR(200),GETDATE(),127); //2019-07-30T19:28:14.817
select CONVERT(VARCHAR(200),GETDATE(),130); //28 ?? ?????? 1440 7:28:32:260PM
select CONVERT(VARCHAR(200),GETDATE(),131); //28/11/1440 7:28:41:120PM
DATEADD
DATEADD(datepart, number, date)以datepart指定的方式,向指定日期加上一段时间number,返回新的 datetime 值。
-- 系统当前时间加 2 分钟
select DATEADD(MINUTE, 2, GETDATE());
-- 系统当前时间加 2 天
select DATEADD(day, 2, GETDATE());
-- 系统当前时间加 2 月
select DATEADD(month, 2, GETDATE());
-- 系统当前时间加 2 年
select DATEADD(year, 2, GETDATE());
DATEDIFF
DATEDIFF(datepart, startdate, enddate) 以datepart指定的方式,返回 enddate 与 startdate 两个日期之间的差值
------------- DATEDIFF(datepart, startdate, enddate) 函数 -----------
select GETDATE();
----- enddate-startdate 计算分钟差值
select DATEDIFF(MINUTE, '2019-06-30 19:35:40.793', '2019-06-30 19:39:43.793');
----- enddate-startdate 计算时差值
select DATEDIFF(HOUR, '2019-05-20 19:39:43.793', '2019-06-30 19:39:43.793');
----- enddate-startdate 计算天差值
select DATEDIFF(DAY, '2019-05-20 19:39:43.793', '2019-06-30 19:39:43.793');
----- enddate-startdate 计算月差值
select DATEDIFF([MONTH], '2019-03-30 19:39:43.793', '2019-06-30 19:39:43.793');
DATEPART
DATEPART(datepart, date) 函数 ,返回日期date中,interval指定部分所对应的整数值
------------------------- DATEPART(datepart, date) 函数---------------------、
-- 获取当前系统时间 秒
SELECT DATEPART(SECOND, GETDATE()); //46
select DATEPART(ss, GETDATE());
-- 获取当前系统时间 分钟
SELECT DATEPART(MINUTE, GETDATE()); //49
select DATEPART(MM, GETDATE());
-- 获取当前系统时间 小时
select DATEPART(HOUR, GETDATE()); //19
select DATEPART(HH, GETDATE());
-- 获取当前系统时间 天
select DATEPART(DAY, GETDATE()); //30
select DATEPART(dd, GETDATE());
-- 获取当前系统时间 月
select DATEPART(MONTH, GETDATE()); //7
select DATEPART(mm, GETDATE());
-- 获取当前系统时间 年
select DATEPART(YEAR, GETDATE()); //2019
select DATEPART(yyyy, GETDATE());
DATENAME
DATENAME(datepart, date) ,返回日期date中,interval指定部分所对应的字符串名称
-----------------DATENAME(datepart, date) 函数---------------------
select DATENAME(YEAR, GETDATE()); //年
select DATENAME(MONTH, GETDATE()); // 月
select DATENAME(DAY, GETDATE()); //天
select DATENAME(HOUR, GETDATE()); //小时
select DATENAME(MINUTE, GETDATE()); //分钟
select DATENAME(SECOND, GETDATE()); //秒
select DATENAME(Millisecond , GETDATE()); //毫秒
select DATENAME(weekday, GETDATE()); //星期二
参数 datepart 的设定值如下:
值 缩 写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999