我有两个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/

10-12 06:45