sql 查询最近日期的问题

aotian16 2015-05-28 10:56:17
fdate fprice
2015-05-06 10
2015-05-12 12

根据变量@fdate,取出距离@fdate最近的日期对应的单价
不要用临时表
语句求不复杂
...全文
258 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2015-05-28
  • 打赏
  • 举报
回复
你的最近日期是 要与查询日期相隔天数小的,还是 离9999-12-31近的呢

DECLARE @fdate DATETIME
SET @fdate='2015-05-11'
SELECT TOP 1 fprice FROM TB
WHERE fdate<@fdate
ORDER BY fdate DESC

这个是离 9999-12-31 近的方式
aotian16 2015-05-28
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
DECLARE @fdate DATETIME
SET @fdate='2015-05-11'
SELECT TOP 1 fprice FROM TB
ORDER BY ABS(DATEDIFF(DAY,@fdate,fdate)),fdate DESC
desc是从大到小了吧,desc去掉就OK了应该
还在加载中灬 2015-05-28
  • 打赏
  • 举报
回复
DECLARE @fdate DATETIME
SET @fdate='2015-05-11'
SELECT TOP 1 fprice FROM TB
ORDER BY ABS(DATEDIFF(DAY,@fdate,fdate)),fdate DESC

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧