立刃 2013-09-23 03:04 采纳率: 0%
浏览 1193

mssql根据datetime判断该时间是否为本周时间

本周时间的概念是上周六到本周五为一周
比如记录
id name bgTime
1 "test" 2013-08-07 14:12:30
2 "good" 2013-09-27 04:35:30
3 "suine" 2013-09-23 11:12:30
4 "ne" 2013-09-21 11:12:30
5 "sne" 2013-09-22 11:12:30
6 "unine" 2013-09-19 11:12:30
7 "shy" 2012-11-07 14:12:30
now.bgTime=2013-09-23 11:12:30
selsect id,name from a.table where bgTime in {本周}
理想结果:

2 "good" 2013-09-27 04:35:30
3 "suine" 2013-09-23 11:12:30
4 "ne" 2013-09-21 11:12:30
5 "sne" 2013-09-22 11:12:30

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-20 11:07
    关注

    该回答引用ChatGPT

    要根据 MSSQL 中的 datetime 判断该时间是否为本周时间,可以使用以下步骤:


    确定当前日期所在周的起始日期和结束日期。可以使用 DATEPART() 函数获取当前日期是本周的第几天(1 表示星期天,2 表示星期一,以此类推),然后根据这个信息计算出本周的起始日期和结束日期。假设我们的一周是从周六开始算的,则本周的起始日期为本周日减去六天,结束日期为本周六。

    DECLARE @now DATETIME
    SET @now = '2013-09-23 11:12:30'
    
    DECLARE @startOfWeek DATETIME
    SET @startOfWeek = DATEADD(DAY, -DATEPART(WEEKDAY, @now) + 1, @now)
    
    DECLARE @endOfWeek DATETIME
    SET @endOfWeek = DATEADD(DAY, 7 - DATEPART(WEEKDAY, @now), @now)
    

    使用起始日期和结束日期来筛选符合条件的记录。可以使用 BETWEEN 运算符来判断某个日期是否在指定的区间内。

    SELECT id, name, bgTime
    FROM a.table
    WHERE bgTime BETWEEN DATEADD(DAY, -6, @startOfWeek) AND @endOfWeek
    

    完整的 SQL 查询语句如下:

    DECLARE @now DATETIME
    SET @now = '2013-09-23 11:12:30'
    
    DECLARE @startOfWeek DATETIME
    SET @startOfWeek = DATEADD(DAY, -DATEPART(WEEKDAY, @now) + 1, @now)
    
    DECLARE @endOfWeek DATETIME
    SET @endOfWeek = DATEADD(DAY, 7 - DATEPART(WEEKDAY, @now), @now)
    
    SELECT id, name, bgTime
    FROM a.table
    WHERE bgTime BETWEEN DATEADD(DAY, -6, @startOfWeek) AND @endOfWeek
    

    该查询语句会返回所有 bgTime 在本周时间范围内的记录,即 id 为 2、3、4、5 的记录。注意,这里假设一周的起始日是周六,如果起始日不同,需要相应地调整查询语句中的计算逻辑。

    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型