入力した日付に基づいて、データベースから最後のエントリを取得しようとしています。SQLが希望どおりに機能していません。これが私のSQLです
SELECT TOP 1 * FROM BILLS_HITS ORDER BY DATETIMEADD DESC
誰かがそれで何か悪いことを見ることができますか?SQLは、日付が「2012年6月6日7:10:11 AM」のレコードを返しますが、2012年6月10日のレコードは返しません。
データベースにとらわれないアプローチを使用します。
SELECT *
FROM
BILLS_HITS
WHERE
DATETIMEADD = (SELECT MAX(DATETIMEADD) FROM BILLS_HITS)
キーワードはMSSQLに固有ですが、TOP
上記のクエリはMSSQLを含む他のほとんどのDBMSで機能します。
また、選択を高速化するために、列にインデックスを付けることをお勧めしますDATETIMEADD
それが機能しない場合は、DATETIMEADD
列がvarchar / char / text文字列だけでなく、適切な日付/日時タイプであることを確認してください。