我有两个PDO数据库连接。我正在MS SQL表中搜索与日期(mysql datetime)行最接近的行。
我已将mysql.table1.date传递给mssql.table,我正在根据mssql.table.date查找最近的日期。它也被定义为日期时间字段。我只需要返回一行,最接近时间,所以本质上:
SELECT * FROM table ORDER BY CLOSEST(mysqldate = mssql.table.date) LIMIT 1;
我知道上面的语法是不正确的,但这基本上输出了我需要的,但我真的不知道如何使用mssql。
有什么帮助吗?
最佳答案
基本上你可以在mssql.Table.date列中找到mysql日期与所有日期的差异,然后你需要从上面的查询中选择最小的差异值,希望下面的查询可以帮助你
;with CTE as
(
Select mssql.table.date,row_number()
over (order by abs(datediff(day,mysqlDate,mssql.table.date))) rowNumber
from mssql.Table)
select mssql.table.date from CTE where rowNumber=1
关于mysql - 使用PDO Mysql/MSSQL返回表中最接近日期的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10944276/