上一篇
场景引入:
凌晨3点,你正喝着第5杯咖啡赶报表,突然发现所有数据都要按「当前时间」自动打标⏰,别慌!掌握这些MSSQL时间获取技巧,分分钟让系统乖乖报时~
SELECT GETDATE() AS '当前时间';
👉 特点:
💡 随手记:
-- 计算订单创建后的小时数 SELECT DATEDIFF(HOUR, CreateTime, GETDATE()) FROM Orders;
SELECT SYSDATETIME() AS '精确到纳秒的时间';
⚡ 何时用:
🎯 对比实验:
SELECT GETDATE() AS '普通精度', SYSDATETIME() AS '高精度';
SELECT CONVERT(DATE, GETDATE()) AS '今天日期'; -- 或 SELECT CAST(GETDATE() AS DATE) AS '简洁写法';
SELECT CONVERT(TIME, GETDATE()) AS '现在几点';
🍳 实用案例:
-- 找出今天创建的订单 SELECT * FROM Orders WHERE CONVERT(DATE, CreateTime) = CONVERT(DATE, GETDATE());
SELECT GETUTCDATE() AS 'UTC标准时间';
🌍 适用场景:
⚠️ 注意:
-- 北京时间比UTC快8小时(东八区) SELECT GETDATE() AS '北京时间', GETUTCDATE() AS 'UTC时间';
SELECT CONVERT(VARCHAR, GETDATE(), 120) AS '标准格式', CONVERT(VARCHAR, GETDATE(), 112) AS '纯数字日期', CONVERT(VARCHAR, GETDATE(), 114) AS '纯时间';
📜 常用格式代码表:
| 代码 | 格式示例 | 用途 |
|------|----------|------|
| 120 | 2025-08-20 15:30:22 | 标准时间戳 |
| 23 | 08/20/2025 | 美式日期 |
| 114 | 15:30:22:123 | 精确到毫秒的时间 |
DECLARE @Now DATETIME = GETDATE(); -- 后续全部使用@Now变量
最后彩蛋 🥚:
-- 获取SQL Server启动至今的分钟数 SELECT DATEDIFF(MINUTE, sqlserver_start_time, GETDATE()) FROM sys.dm_os_sys_info;
下次再遇到时间问题,把这篇文章当小抄就够啦! (•̀ᴗ•́)و
本文由 平雅爱 于2025-08-01发表在【云服务器提供商】,文中图片由(平雅爱)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/502438.html
发表评论