gpt4 book ai didi

sql-server - 使用 SQL Server 2014 选择具有给定日期的单行

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:36 25 4
gpt4 key购买 nike

Table1
___________________
id Date
1 2016/1/05
2 2012/5/09
3 2010/6/23
4 2009/7/18
5 2002/2/13

尝试编写一个使用给定日期返回 id 的 SQL 查询。

如果日期不在表中,它应该返回最接近给定日期的日期。

所以....如果输入日期是 2016 年 1 月 2 日,它将返回 id 1,因为这是最接近的匹配

如果输入日期是 2/12/2003 它将返回 id 5

最佳答案

----编辑---

使用“abs”获取“最接近”的数字。

declare @t1 as table (id int,date datetime)
insert into @t1 select 1,'2016/1/05'
insert into @t1 select 2,'2012/5/09'
insert into @t1 select 3,'2010/6/23'
insert into @t1 select 4,'2009/7/18'
insert into @t1 select 5,'2002/2/13'

declare @inputDate datetime = '2003/2/12'
select top 1.id from @t1 order by abs(datediff(dd,date,@inputDate))

set @inputDate = '2016/1/02'
select top 1.id from @t1 order by abs(datediff(dd,date,@inputDate))

关于sql-server - 使用 SQL Server 2014 选择具有给定日期的单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36191718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com