【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);
相关推荐
大翻哥哥2 小时前
Python 2025:数据分析平台智能化转型与新范式
人工智能·python·数据分析
维维180-3121-14552 小时前
NCL数据分析与处理实践技术应用
数据挖掘·数据分析·ncl
计算机毕设残哥4 小时前
【Spark+Hive+hadoop】人类健康生活方式数据分析
大数据·hive·hadoop·python·数据分析·spark·dash
毕设源码-钟学长7 小时前
【开题答辩全过程】以 bilibili排行榜的数据分析与可视化为例,包含答辩的问题和答案
数据挖掘·数据分析
IT研究室17 小时前
大数据毕业设计选题推荐-基于大数据的农产品交易数据分析与可视化系统-Spark-Hadoop-Bigdata
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
大数据CLUB20 小时前
基于hive和mapreduce的地铁数据分析及可视化
大数据·hive·hadoop·分布式·数据分析·mapreduce
我要学习别拦我~1 天前
Python 中常用的数据分析绘图库解析
python·数据分析
Lululaurel1 天前
一文详解回归分析的探索、分析、检验阶段,以Stata和SPSS为例
数据挖掘·数据分析·回归·统计
Aloudata技术团队1 天前
智能问数 Agent 如何确保 SQL 生成 100% 准确?
大数据·数据分析·数据可视化
INSVAST1 天前
Sentieon | 小麦全基因组(WGS)分析流程
数据分析