【发布时间】:2019-07-12 23:11:03
【问题描述】:
我有一个返回前一天结果的选择。一切都很好,但是到了星期一,它会返回星期天的结果,我需要它来返回上一个星期五的结果。
当日期时间为星期一时,我尝试返回 3 天,但它不起作用。
这就是我开始的地方
SELECT no, nome, obrano, datafinal
FROM bo
WHERE nmdos LIKE '%preço%'
AND datafinal = DATEADD(day, -1, CONVERT(date, GETDATE()))
这就是我所在的地方
SELECT no, nome, obrano, datafinal
FROM bo
WHERE nmdos LIKE '%preço%'
AND datafinal = DATEADD(day, - case convert (datetime, 'Dy') when 'Mon' then 3 else 1 end, CONVERT(date, GETDATE()))
我只是得到转换错误,不明白为什么
【问题讨论】:
-
CONVERT(datetime, 'Dy')?您希望 文字字符串'dy'代表什么日期?
标签: sql sql-server date select