-
サブクエリを使用した方法:
SELECT * FROM テーブル名 WHERE 日付 = ( SELECT MIN(ABS(DATEDIFF(日付, '目標の日付'))) FROM テーブル名 );
-
サブクエリとLIMITを組み合わせた方法:
SELECT * FROM テーブル名 WHERE 日付 = ( SELECT 日付 FROM テーブル名 ORDER BY ABS(DATEDIFF(日付, '目標の日付')) LIMIT 1 );
-
CROSS APPLYを使用した方法 (SQL Serverのみ):
SELECT * FROM テーブル名 CROSS APPLY ( SELECT TOP 1 日付 FROM テーブル名 ORDER BY ABS(DATEDIFF(日付, '目標の日付')) ) AS 最も近い日付;
これらの方法は、日付の差を計算し、その絶対値を最小化することで、最も近い日付を見つけるものです。目標の日付を適切な値に置き換えて使用してください。
上記のコード例を使用して、最も近い日付に基づいたデータの取得ができるはずです。適用するDBMSによって、正確な構文が異なる場合があるため、使用しているデータベースシステムのドキュメントを参照してください。