2016-07-29 4 views
0

のためのデータを取得するために:私は必要なものを選択し、私はこの形式で日付を格納テーブル持って毎日

2016年7月29日午前〇時00分00秒AM

すると、ユーザーにすべてのデータを表示しています1日から

+-------+-------------+---------------------+ 
| id | product  | date    | 
+-------+-------------+---------------------+ 
|  1 | one   |7/27/2016 9:29:14 AM | 
|  2 | two   |7/28/2016 7:53:42 AM | 
|  3 | three  |7/28/2016 9:53:24 PM | 
+-------+-------------+---------------------+ 

ですので、戻って欲しい:2010年7月28日の日付で、2つの新しい商品が記録されました。 どうすれば実現できますか?

これは、データの型を持つフィールドです:

+------------------+------------------+------+-----+---------+----------------+ 
| Field   | Type    | Null | Key | Default | Extra   | 
+------------------+------------------+------+-----+---------+----------------+ 
| id    | int(10) unsigned | NO | PRI | NULL | auto_increment | 
| product   | varchar(255)  | NO | MUL | NULL |    | 
| date    | varchar(255)  | NO | MUL | NULL |    | 
+------------------+------------------+------+-----+---------+----------------+ 

と日付は、C#でのDateTime形式で保存しました。 私は試してみました:

SELECT * FROM products where date between '7/29/2016 00:00:00 AM' and '7/29/2016 11:59:00 PM'; 

動作しません。しかし、私はこれを置く:

SELECT * FROM products where date between '7/01/2016 00:00:00 AM' and '7/31/2016 11:59:00 PM'; 

それは月の製品を返します。

+3

何か試しましたか? – 1000111

+0

'date'カラムのフォーマットは何ですか?私たちはテーブル構造を見せてください。また、達成しようとしていることを正確に説明してください。(結果はすべて日付別または特定の日付のリクエストごとにグループ化されます) – roberto06

+0

グループバイヤーを使用して結果を得ることができます。しかし、これまでに試した質問を表示すると、私たちはあなたを助けることができます。 –

答えて

2

このMySQLのクエリはあなたのために働く必要があります。

SELECT * FROM products 
WHERE date >= '2016-07-28 00:00:00' AND date < '2016-07-29 00:00:00' 

またはBETWEENを使用します。

SELECT * FROM products 
WHERE date BETWEEN '2016-07-28 00:00:00' AND '2016-07-28 23:59:59' 

あなたの日付フィールドが現在の文字列として格納されている場合は、単にSTR_TO_DATEで最初の変換:

SELECT * FROM products 
WHERE STR_TO_DATE(date, '%c/%e/%Y %h:%i:%s %p') BETWEEN '2016-07-28 00:00:00' AND '2016-07-28 23:59:59' 

または、1日のみが必要な場合(インデックスがある場合)日付フィールドに、単にこれらのインデックスを利用するLIKEの構文を使用します。

SELECT * FROM products 
WHERE date LIKE '7/28/2016 %' 
+0

STR_TO_DATEで動作します!どうもありがとうございます! – meluluji

+1

@meluluji現在、日付フィールドが文字列として格納されている場合は、修正してください! – Strawberry

0
SELECT * FROM Table_Name 
WHERE date BETWEEN 'startdatetime' AND 'enddatetime' 

このクエリでは、あなたのために働くことがあります。

関連する問題