0

特定の範囲の日付と時刻のデータをクエリする必要があります。Heroku に ClearDB データベースがあり、日付と時刻を保存するための 2 つのフィールドがあります。これらのフィールドは DATE ではなく varchar タイプです。 ここにデータ構造があり、フィールド名を見ないでください。理解を深めるために、クエリで以下を変更しました。

私は動作するこのクエリを持っています:

SELECT 
DISTINCT dates, times, lat, long, ide FROM data 
WHERE ide = 'lcg1234' AND (dates>= '2016-01-27' AND times>='15:00:00') 
 AND (dates<= '2016-01-29' AND times<='16:00:00') 
 ORDER BY times ASC

問題は、最後の AND の時間を次のように低い値に変更した場合です。

SELECT 
DISTINCT dates, times, lat, long, ide FROM data 
WHERE ide = 'lcg1234' AND (dates>= '2016-01-27' AND times>='15:00:00') 
AND (dates<= '2016-01-29' AND times<='01:00:00') 
ORDER BY times ASC

うまくいきません、なぜこれが起こったのですか?どんなアイデアでも大歓迎です!私の悪い英語で申し訳ありません。

4

1 に答える 1

0

日付と時刻の列を組み合わせて、カスタムの日時フィールドを作成する必要があります。そして、比較を行います。

次のクエリが機能するかどうかを確認します。

SELECT 
DISTINCT dates, times, lat, long, ide FROM data 
WHERE ide = 'lcg1234' 
AND CONCAT(`dates`,' ',`times`) >= '2016-01-27 15:00:00' 
AND CONCAT(`dates`,' ',`times`) <= '2016-01-29 01:00:00'
ORDER BY times ASC
于 2016-01-29T22:21:46.473 に答える