我有 2 个 PDO 数据库连接。我正在 MS SQL 表中搜索与日期 (mysql 日期时间) 行最匹配的行。
我已将 mysql.table1.date 传递给 mssql.table,我正在根据 mssql.table.date 寻找最接近的日期。它也被定义为日期时间字段。我只需要返回 1 行,最接近时间,所以本质上:
SELECT * FROM table ORDER BY CLOSEST(mysqldate = mssql.table.date) LIMIT 1;
我知道上面的语法不正确,但基本上可以输出我需要的内容,但我真的不知道如何使用 mssql 执行此操作。
有什么帮助吗?
最佳答案
基本上你可以找到 mysql 日期与 mssql.Table.Date 列中所有日期的差异。然后你需要从上面的查询中选择最小的差异值。希望下面的查询可以帮助你
;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/