私は、管理者が駐車場を利用できるようにしたいときに日付を挿入する機能を管理者に与える必要があるスクリプトに取り組んでいます。管理者は範囲内の日付を挿入します。
MySQLに日付を保存するための最良の方法を解決するのに苦労しています。
AVAILABLE_FROM_DATE
2つの列を使用して日付を保存する必要がありAVAILABLE_UNTIL_DATE
ますか?
PLID AVAILABLE_FROM DATE AVAILABLE_UNTIL_DATE
1 2012-04-01 2012-04-03
1 2012-04-05 2012-04-15
2 2012-04-21 2012-04-30
または、単一の列AVAILABLE_DATE
を使用して、管理者が選択した範囲を、範囲間の各日付の新しい行に保存する必要がありますか?
[編集開始]
上記の単一の列を使用することは、日付を単一の列に結合または分割しないことを意味します。実際には、以下のように単一の列を持つ単一の行に日付を格納することを意味します。
PLID AVAILABLE_DATE
1 2012-04-01
1 2012-04-02
1 2012-04-03
保存したいすべての利用可能な日付についても同様です。
[編集終了]
基本的に、管理者は駐車場が利用可能な日付範囲を挿入し、ユーザーがその範囲内のスロットを探している場合はメンバーがそのスロットを選択できるようにします。
または、これを行うためのより良い、より簡単な方法はありますか?
現在、範囲に別々の列を使用する最初の方法を使用しようとしていますが、範囲内の駐車場を探すときに目的の結果を得るのに問題があります。
[編集開始]
SELECT * FROM `parking_lot_dates`
WHERE (available_from_date BETWEEN '2012-04-22' AND '2012-04-30'
AND (available_until_date BETWEEN '2012-04-22' AND '2012-04-30'))
上記の行で次のクエリを使用すると、空が返されます。PLID2を持つ最後の行を返すようにします。
[編集終了]
前もって感謝します。