- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户输入其他日期的日期时,我使用此 sql 获取一周的开始日期(星期一)
@StartDate 的格式为 (yyyymmdd)
SQL: CAST(convert(varchar(12),DATEADD(week,DATEDIFF(week,0,@StartDate),0),112) as int
问题是当输入的日期是从星期二到星期六时,它返回到本周的正确星期一。然而,当输入的日期是星期日时,它返回下周星期一的日期。
谁能告诉我我做错了什么
谢谢
最佳答案
您的星期日与星期一属于同一周,这将使星期一成为一周的第一天。它应该可以解决您的查询
set datefirst 1
此语法不关心数据库考虑一周的第一天是哪一天,它会计算您的@StartDate 的真实周的星期一。
DATEADD(week, DATEDIFF(day, 0, @StartDate)/7, 0)
你可以用这个测试:
SELECT DATEADD(week, DATEDIFF(day, 0, getdate())/7, 0)
关于sql - 使用 DATEADD 和 DATEDIFF 获取一周的开始日(星期一)时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255595/
我正在尝试使不到 30 天前回复的友谊请求无效。 var requestIgnored = context.Request .Where(c => c.IdRequest == result.
我有一个大学项目,我有一个包含入院和出院日期属性的患者表。我需要删除超过 7 年的记录,我使用了以下代码: delete from patient where dis_date >= datedadd
如何可靠地将 10 个月添加到 PowerPivot 计算列的 DAX 公式中的日期? 我的第一次尝试仅适用于 EventDate 列中已经存在的日期。 =DATEADD(Dates[EventDat
该函数应在当前日期之后返回一个新日期并添加 num_of_flows。 num_of_flows 是一个整数值 ALTER function [dbo].[M20_22_GetLoanMaturit
在访问查询中运行此SQL代码时,我一直收到以下错误。知道为什么吗? 错误: 查询表达式“状态日期”中的语法错误(缺少运算符) 码: FROM [Owner Training Report] WHERE
下面的查询在 WHERE 子句上有 DateAdd SELECT d.INVOICE_NO, d.part_no, d.PART_ORDER_QTY, d.PART_SHIPPED_QTY, d.IN
执行以下查询后,我收到错误 Adding a value to a 'datetime' column caused an overflow. 我不知道为什么会发生这种情况,因为它已经顺利运行了几周。
我在 Azure 上的示例数据库中创建了一个存储过程: CREATE PROCEDURE SalesLT.InsertOrderHeader(@OrderDate AS DATETIME=NULL,
我在 Azure 上的示例数据库中创建了一个存储过程: CREATE PROCEDURE SalesLT.InsertOrderHeader(@OrderDate AS DATETIME=NULL,
我在 H2 数据库中已有表名称“ABC”。描述是, FIELD | TYPE | NULL | KEY | DEFAULT
我看到 sqlserver 中的 DATEADD 发生了一些奇怪的事情: declare @buffdays smallint = null declare @scheduledDeleteTime
我有一个从日期时间字段中删除日期的小查询,但是当我尝试将其从 GMT 转换为 CST 时,它会读取日期。有更好的方法吗? 位置表: arrival 4-6-2018 12:35:43 SELECT a
此查询将检索过去 7 天内的所有记录。 SELECT * FROM STATISTICS WHERE TIMESTAMP > DATEADD('DAY',-7, NOW()) 如何更改查询以包含 7
我正在 Excel 中使用 DateTime.DateAdd VBA 函数来创建日期列。使用下面的代码,当时间进入午夜时,日期不会按预期更改。 Sub test() Dim i As Inte
我正在尝试做类似下面的事情(我已经简化了问题,试图解决这个单独的部分)。 PRINT DATEADD(week, 0.2, GETDATE()) 我意识到这是行不通的,因为 dateadd 的数字参
我的表 TableName 包含大约 5,000 行。它由 product_id 和 ScheduleTime 组成。 我想要对此表执行的操作是替换 ScheduleTime 的每个值,无论它当前是什
从当前日期减去年份时,如果当前日期是 2013 年 2 月 28 日,则以下语句返回 2012 年 2 月 28 日,但结果正确应该是 2012 年 2 月 29 日,因为 2012 年是 闰年。如何
DateAdd 函数 返回已添加指定时间间隔的日期。 DateAdd(interval, number, date) 参数 interval 必选项。字符串表达式,表示要添加的时间间隔。有
所以我想做的是从一个单元格中的日期开始,然后它下面的每一行都显示一个月后的日期。所以在第 1 列的第 3 行,我有 1919 - Mar,所以我希望第 1 列的第 4 行是 1919 - Apr,依此
我正在尝试检查第二次尝试(您可以想象任何类似密码尝试、下载尝试等)是否在从尝试 1 时间(@window)开始的时间限制(@start)内进行。当其他日期时间比较使用关系运算符时,为什么会报告语法错误
我是一名优秀的程序员,十分优秀!