編輯增加了更多具體的日期時間格式
我跑同樣的問題的時間和日期之間的結合。時間被忽略,因此您可以從整天獲得結果。
嘗試使用PHP或其他編程語言來操縱MySQL。或者嘗試按照我的建議更改CSV文件的導入方法。
SELECT *,CAST((STR_TO_DATE(`Data/ora apertura`, '%d/%m/%Y %H.%i')) AS DATETIME)
AS DATE_TIME
FROM reportinc
WHERE (CAST((STR_TO_DATE(`Data/ora apertura`, '%d/%m/%Y %H.%i')) AS DATETIME)) >= ('2012-22-01 21:00');
SELECT *,CAST((STR_TO_DATE(`Data/ora apertura`, '%d/%m/%Y %H.%i')) AS DATETIME)
AS DATE_TIME
FROM reportinc
WHERE (STR_TO_DATE(`Data/ora apertura`, '%d/%m/%Y %H.%i')) >= ('2012-22-01 21:00');
的樣本數據:
CREATE TABLE reportinc (
`ID_incidente` int auto_increment primary key,
`Data/ora apertura` varchar(30)
);
INSERT INTO reportinc (`Data/ora apertura`)
VALUES
("31/07/2012 10.46"),
("31/07/2012 10.47"),
("22/01/2013 20.00"),
("23/01/2013 10.00");
SQL FIDDLE demo ---
試着這麼做:
使用CAST功能:
SELECT * FROM reportinc WHERE (CAST(`Data/ora apertura` AS DATETIME)) >= NOW() - INTERVAL 3 hour;
使用STR_TO_DATE功能:
SELECT * FROM reportinc WHERE (STR_TO_DATE(`Data/ora apertura`,'%Y-%m-%d %H:%i:%s')) >= NOW() - INTERVAL 3 hour;
你是一個有點不清楚了時間範圍,所以我花了3小時,因爲一個例子。您還可以使用特定的日期和時間。
使用投:
`SELECT * FROM reportinc WHERE (CAST(`Data/ora apertura` AS DATETIME)) >= ('2013-01-22 20:00:00');`
使用STR_TO_DATE
SELECT * FROM reportinc WHERE (STR_TO_DATE(apertura, '%Y-%m-%d %H:%i:%s')) >= ('2013-01-21 20:00:00');
的樣本數據:
CREATE TABLE reportinc (
`ID_incidente` int auto_increment primary key,
`Data/ora apertura` varchar(30),
`Data/ora apertura1` datetime
);
INSERT INTO reportinc (`Data/ora apertura`, `Data/ora apertura1`)
VALUES (NOW() - INTERVAL 1 day, NOW() - INTERVAL 1 day),
(NOW() - INTERVAL 1 hour, NOW() - INTERVAL 1 hour),
(NOW() - INTERVAL 3 hour, NOW() - INTERVAL 3 hour),
(NOW() - INTERVAL 6 hour, NOW() - INTERVAL 6 hour),
(NOW() - INTERVAL 9 hour, NOW() - INTERVAL 9 hour),
(NOW() - INTERVAL 1 year, NOW() - INTERVAL 1 year);
SQL FIDDLE DEMO
B.T.W.我的建議是停止在列和表名稱中使用斜槓,空格等。
我會很感激,如果你會接受幫助你的答案。
最好使用DATETIME類型而不是varchar。 –
如果您使用varchar,則將您的日期轉換爲字符串值。張貼您的表格結構,以便我們可以看到是否是這種情況。如果您可以提供一些示例數據,可能有解決辦法。 –
此SQL FIDDLE演示顯示了差異。 http://www.sqlfiddle.com/#!2/205da/20我必須跑,所以其他人可能會幫助你進一步。祝你好運。 –