You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server如何从日期列筛选周一和周五对应的数据

SQL Server 查询周一和周五对应数据的实现方案

你可以使用SQL Server内置的日期函数筛选符合星期要求的数据,以下是不同场景的实现写法:

基础适用写法(默认服务器配置)

SQL Server默认@@DATEFIRST = 7(即每周第一天为周日),此时周一的星期序号为2、周五的星期序号为6,直接筛选即可:

SELECT Ticker, ISIN, [Date], Price
FROM dbo.tblNAV
WHERE DATEPART(WEEKDAY, [Date]) IN (2, 6)

注:Date是SQL Server保留关键字,所以用方括号包裹避免语法报错。

通用兼容写法(不受服务器周起始配置影响)

如果不确定服务器的周起始设置,可以用以下写法消除配置差异的影响,该写法固定将周一视为每周第一天,通过偏移计算统一筛选逻辑:

SELECT Ticker, ISIN, [Date], Price
FROM dbo.tblNAV
WHERE DATEPART(WEEKDAY, [Date] + @@DATEFIRST - 1) IN (1, 5)

直观匹配写法

如果你不想记忆序号对应关系,也可以用DATENAME函数直接匹配星期名称,根据你的SQL Server语言版本选择对应写法:

  • 英文版本SQL Server适用:
SELECT Ticker, ISIN, [Date], Price
FROM dbo.tblNAV
WHERE DATENAME(WEEKDAY, [Date]) IN ('Monday', 'Friday')
  • 中文版本SQL Server适用:
SELECT Ticker, ISIN, [Date], Price
FROM dbo.tblNAV
WHERE DATENAME(WEEKDAY, [Date]) IN ('星期一', '星期五')

内容的提问来源于stack exchange,提问作者K saman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:09:04