1

日付が一致し、時間が開始時間と終了時間の間にある場合、データを選択したかったのです。私は多くの方法で試しましたが、成功しません。

以下のデータ テーブルの 3 行目を確認してください。開始時刻は 08:00:00 で、終了時刻は 11:00:00 です。これは、09:00:00 が 08:00:00 と 11:00:00 の間であることを意味します

ここに私のクエリがあります:

SELECT * FROM (`rides`) WHERE `date` = '2013/04/30' AND `start_time` >= '9:00:00' AND `end_time` <= '9:00:00'

フィールドのデータ型を知る必要がある場合のテーブル構造:

CREATE TABLE IF NOT EXISTS `rides` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  ...,
  ...,
  `date` date NOT NULL,
  `start_time` time NOT NULL,
  `end_time` time NOT NULL
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;

表のデータ:

表のデータ

4

3 に答える 3

2

あなたが書いた :

3 行目を確認してください (...) 09:00:00 が 08:00:00 と 11:00:00 の間にあることを意味します

結果セットにこの行が含まれていると想定しています。明らかに、あなたのWHERE状態は間違っています。あなたが望むものは:

WHERE ... start_time <= '9:00:00' AND '9:00:00' <= end_time

または代わりに

WHERE ... '09:00:00' BETWEEN start_time AND end_time

上記の例では先頭0が必要であることに注意してください。より標準的な形式は次のようになります。

WHERE ... CAST('9:00:00' AS TIME) BETWEEN start_time AND end_time
于 2013-04-30T15:02:56.350 に答える
0

MySQL の between 句を使用できます ここを見て ください http://www.tutorialspoint.com/mysql/mysql-between-clause.htm

于 2013-04-30T11:33:59.167 に答える
-1

From looking at your data, the query should not return any data because there are no suitable rows of data in your table.

于 2013-04-30T11:06:54.970 に答える