0

予定を処理するWebアプリを作成しました。次に、mysqlデータベースに保存されている予定をGoogleマップに配置します。

「今日」の予定だけを表示したい。私のSQLクエリでこれを行うには、線に沿って何かを行う必要がありますselect * from appointments where $date = today。現在、それはただ読むだけですselect * from appointments。私が抱えている問題は、日付が次の形式で1つの列に格納されていることですFri Mar 08 2013 09:00:00 GMT 0000 (GMT)。地図上にプロットする場合、時間の側面は関係ありません。必要なのは、日付を抽出し、「今日」の日付に関連付けられたレコードを表示することだけです。

1つの列から日付をそのままの形式で取得するにはどうすればよいですか?また、今日の日付を同じ形式で設定するにはどうすればよいですか?

4

2 に答える 2

1

面倒かもしれません...しかし、私はそれをこのように解決します(純粋なSQL):

select *
from appointments
where `date` >= curdate() and `date` < date_add(curdate(), interval +1 day);

私はあなたのフィールドが文字列としてではなく、または'date'として保存されていると仮定しています。日付を文字列として保存している場合は、文字列を有効な日付に「キャスト」する必要があるため、大きな問題が発生します。datedatetime

これがお役に立てば幸いです

于 2013-03-19T21:09:19.940 に答える
0

まあ。日付はDATEデータ型として保存する必要があります。独自の内部形式があります。テーブルをクエリするときは、MySQL DATE_FORMAT()関数を使用して、必要な形式でテーブルを表示できます。

列を変更したら(そして既存のすべてのデータを正しい形式に変換すると、日付ベースのクエリを問題なく実行できます。

于 2013-03-19T21:08:50.637 に答える