微软SqlServer MsSql 日期时间函数 笔记
获取日期时间
GETDATE() 获取当前系统(本地)时间 秒后3位
结果示例: 2021-10-02 21:26:53.133
GETDATE()
getdate() getDate() GetDate() gEtdAtE() GETDATE()
默认不区分大小写
SYSDATETIME() 获取当前系统(本地)时间 秒后7位(超微秒)
SysDatetime() 是SQLServer 2008中新增的日期时间型函数 结果示例: 2021-10-02 21:26:53.1822627
SYSDATETIME()
sysdatetime() SysDatetime() SysDateTime() SYSDATETIME()
CURRENT_TIMESTAMP 数据库时间戳 (无括号)(MySql也有同名)
CURRENT_TIMESTAMP 输出格式和 GETDATE() 一样, 精确到毫秒
SELECT GETDATE()
GO
SELECT CURRENT_TIMESTAMP
GO
SELECT SYSDATETIME()
MySql也能用 CURRENT_TIMESTAMP , 可以加括号 CURRENT_TIMESTAMP()
SELECT NOW();
SELECT CURRENT_TIMESTAMP;
SELECT CURRENT_TIMESTAMP();
UTC
GETUTCDATE()
SysUTCDateTime()
日期时间部件代码 DateTimePart
年是year或yyyy或yy 或yEaR或yY…
月是m或mm或month,分是minute或mi或n , (不区分大小写)
缩写表
DateTimePart | 缩写 (默认不区分大小写) |
---|
年 | yy, yyyy | 季度 | qq, q | 月 | mm, m | 年中的日 | dy, y | 日 | dd, d | 周 | wk, ww | 星期 | dw, w | 小时 | hh | 分钟 | mi, n | 秒 | ss, s | 毫秒 | ms | 微妙 | mcs | 纳秒 | ns |
时间加减
DATEADD(DateTimePart , 整数 , 日期时间) 返回 日期时间
示例:上个月
SELECT dAtEaDd(m,-1,SysDatetime());
示例: 明年现在
SELECT DateAdd(YY,1,getDate());
示例: 6小时前
SELECT DATEADD(HH,-6,SYSDATETIME());
2000-01-01 加 60 天
SELECT DATEADD(d,60,'2000-01-01');
GO
SELECT DATEADD(dd,60,'2000-01-01');
GO
SELECT DATEADD(day,60,'2000-01-01');
GO
都返回👇
2000-03-01 00:00:00.000
60年
SELECT DATEADD(yy,60,'2000-01-01');
GO
SELECT DATEADD(YeAr,60,'2000-01-01');
GO
SELECT DATEADD(YyYy,60,'2000-01-01');
GO
SELECT DATEADD(yY,60,'2000-01-01');
GO
求时间差
DATEDIFF(返回类型DateTimePart , 开始, 结束 ) 返回整数
返回时间2减去时间1(时间1到时间2)
SELECT dateDiff(d, '2000-01-01' , '2000-03-01');
GO
SELECT dateDiff(dd, '2000-01-01' , '2000-03-01');
GO
SELECT dateDiff(day, '2000-01-01' , '2000-03-01');
GO
都返回 60
2000-01-01到现在经过多少秒👇
SELECT dateDiff(s, '2000-01-01' , getDate());
GO
SELECT dateDiff(ss, '2000-01-01' , SYSDATETIME());
GO
SELECT dateDiff(second, '2000-01-01' , Current_TimeStamp);
GO
都返回 686529530
过了多少分钟👇
SELECT dateDiff(n, '2000-01-01' , getDate());
GO
SELECT dateDiff(mi, '2000-01-01' , SYSDATETIME());
GO
SELECT dateDiff(minute, '2000-01-01' , Current_TimeStamp);
判断字符串是否为日期数据格式 isDate(xxx)
总结
默认不区分大小写
MsSql与MySql的一些区别
- MsSql可以用–注释,不用加空格, 不能用#
- MySql可以用-- 注释必须加空格, 用#不用加空格
|