【SqlServer】SqlServer常用日期操作

1. 简单查询

说明 查询 sql
日期格式化 SELECT CONVERT(VARCHAR, GETDATE(), 102) AS '102', -- yyyy.mm.dd CONVERT(VARCHAR, GETDATE(), 108) AS '108', -- hh:mi:ss CONVERT(VARCHAR, GETDATE(), 111) AS '111', -- yyyy/mm/dd CONVERT(VARCHAR, GETDATE(), 112) AS '112', -- yyyymmdd CONVERT(VARCHAR, GETDATE(), 23) AS '23', -- yyyy-mm-dd left(CONVERT(VARCHAR, GETDATE(), 23),7) as 'yyyy-mm', -- yyyy-mm CONVERT(VARCHAR, GETDATE(), 120) AS '120', -- yyyy-mm-dd hh:mi:ss CONVERT(VARCHAR, GETDATE(), 121) AS '121' -- yyyy-mm-dd hh:mi:ss.mmm
本月第一天 SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) ;
本月最后一天 SELECT DATEADD(DAY, -1, DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()), 0)); 或者:select EOMONTH(GETDATE());

2. 查询两个日期范围内所有日期列表

sql 复制代码
WITH xrange AS (
    SELECT CAST('2025-07-01' AS DATE) AS curr_day
    UNION ALL
    SELECT DATEADD(DAY, 1, curr_day)
    FROM xrange
    WHERE DATEADD(DAY, 1, curr_day) <= CAST('2025-09-10' AS DATE)
)
SELECT curr_day
FROM xrange
OPTION (MAXRECURSION 0);

3. 查询两个月份范围内所有月份列表

sql 复制代码
WITH xrange AS (
    SELECT CAST(concat('2025-07','-01') AS DATE) AS curr_month
    UNION ALL
    SELECT DATEADD(month, 1, curr_month)
    FROM xrange
    WHERE DATEADD(month, 1, curr_month) <= CAST(concat('2025-09','-10') AS DATE)
)
SELECT left(curr_month,7) as curr_month
FROM xrange
OPTION (MAXRECURSION 0);
相关推荐
地球资源数据云3 小时前
从 DEM 到 3D 渲染:R 语言 rayshader 地形可视化全指南
3d·数据分析·r语言
BYSJMG5 小时前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
YangYang9YangYan6 小时前
2026高职大数据专业数据分析学习必要性
大数据·学习·数据分析
地球资源数据云6 小时前
R语言网络分析与路径规划——线数据应用实战:规划散步路线
数据分析·r语言
YangYang9YangYan8 小时前
2026大专大数据技术专业学习数据分析的必要性
大数据·学习·数据分析
-To be number.wan1 天前
Python数据分析:Matplotlib 绘图练习
python·数据分析·matplotlib
BYSJMG1 天前
计算机毕设选题推荐:基于大数据的癌症数据分析与可视化系统
大数据·vue.js·python·数据挖掘·数据分析·课程设计
YIN_尹1 天前
【MySQL】数据分析双剑客:聚合函数 与 group by子句的完美搭配
mysql·性能优化·数据分析
TM1Club2 天前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
追风少年ii2 天前
多组学扩展---分子对接pyrosetta
python·数据分析·空间·单细胞