微软数据库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() --结果: 2021-10-02 23:05:24.813
GO
SELECT CURRENT_TIMESTAMP --结果: 2021-10-02 23:05:24.840
GO
SELECT SYSDATETIME() --结果: 2021-10-02 23:05:24.8582564
MySql也能用 CURRENT_TIMESTAMP , 可以加括号 CURRENT_TIMESTAMP()
SELECT NOW(); #结果: 2021-10-02 23:28:16
SELECT CURRENT_TIMESTAMP; -- 结果: 2021-10-02 23:28:16
SELECT CURRENT_TIMESTAMP(); -- 结果: 2021-10-02 23:28:16

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可以用-- 注释必须加空格, 用#不用加空格
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kfepiza

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值