首頁 > 資料庫 > mysql教程 > 為什麼我的 SQLite 日期範圍查詢使用 BETWEEN 傳回所有日期?

為什麼我的 SQLite 日期範圍查詢使用 BETWEEN 傳回所有日期?

Barbara Streisand
發布: 2025-01-13 11:17:43
原創
825 人瀏覽過

Why Does My SQLite Date Range Query Using BETWEEN Return All Dates?

SQLite 日期範圍查詢故障排除

常見的 SQLite 查詢問題涉及對「MM/DD/YYYY」格式的日期使用 BETWEEN 運算符,意外傳回所有日期而不是所需的範圍。

問題:日期格式不正確

SQLite 要求日期格式為「YYYY-MM-DD」。 如果您的資料庫或查詢使用不同的格式(例如“MM/DD/YYYY”),SQLite 會將日期視為字串,從而導致不正確的結果 - 通常會選擇表中的每個日期。

解:一致的日期格式

修復方法很簡單:確保所有日期的「YYYY-MM-DD」格式一致。 您可以透過兩種方式實現這一目標:

  1. 資料庫修改:使用strftime('%Y-%m-%d', date_column)函數將資料庫列更新為正確的格式。

  2. 查詢修改:修改您的 SQL 查詢以直接使用正確的格式。 例如:

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN '2011-11-01' AND '2011-11-08';</code>
登入後複製

透過使用正確的日期格式,您的 BETWEEN 子句將按預期運行,準確地僅選擇指定範圍內的日期。

以上是為什麼我的 SQLite 日期範圍查詢使用 BETWEEN 傳回所有日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板