日期以varchar格式存储。结果问题

时间:2016-06-22 08:54:18

标签: mysql date

抱歉我的技术英语很差。我试着从我的数据库中获取一些数据,现在间隔1个月。

此查询完美运行(221行返回)

SELECT idEcare,reference 
FROM DEMS
WHERE (((etatSuivant ="Etat_ADM_131276535415392&SURF=Transmis") 
OR (etatSuivant = "Etat_ADM_121276535415390&SURF=Traitement en cours") 
OR (etatSuivant = "Etat_ADM_11276535415374&SURF=A l étude") 
OR (etatSuivant = "Etat_ADM_81276535415384&SURF=Programmé")) 
AND ((categorisation LIKE "%Propreté:Tas sauvage%") 
OR (categorisation LIKE "%Circulation et stationnement:Véhicule gênant%") 
OR (categorisation LIKE "%Circulation et stationnement:Véhicule ventouse_Epave_Brûlé%")
OR (categorisation LIKE "%Propreté:Passage ponctuel%") 
OR (categorisation LIKE "%Propreté:Corbeille pleine%") 
OR (categorisation LIKE "%Propreté:Huile_Verre cassé%") 
OR (categorisation LIKE "%Propreté:Désherbage_Feuilles mortes%") 
OR (categorisation LIKE "%Propreté%") 
OR (categorisation LIKE "%Espace Vert:Entretien des massifs:Nettoyage%") 
OR (categorisation LIKE "%Mobilier urbain:Corbeille:Réparation%")) 
AND (confidentialite = "Non"))

我想要从上个月返回该行。我尝试了BETWEEN功能但我的字段“dateModification”是VARCHAR格式(“06/02/2012 13:55:09”)所以我有一个结果:截断错误的日期值:“2016/06/06 13:55: 09"

如何修改此查询以仅包含过去30天内的行?

2 个答案:

答案 0 :(得分:1)

似乎没问题

SELECT idEcare,reference 
FROM DEMS 
WHERE (((etatSuivant IN ("Etat_ADM_131276535415392&SURF=Transmis", ...
AND STR_TO_DATE(dateModification, "%d/%m/%Y %H:%i:%s") >= DATE_SUB(NOW(), INTERVAL 1 MONTH)

Thx Matt

答案 1 :(得分:0)

使用if($("#fromDatePicker").val() != "") { var x = new Date($("#fromDatePicker").val()); } if($("#toDatePicker").val() != "") { var y = new Date($("#toDatePicker").val()); } if(x > y){ // hide some charts //Alert message popup comes } 功能。

STR_TO_DATE

也是代码的可能缩短版本

SELECT idEcare,reference 
FROM DEMS
WHERE (((etatSuivant ="Etat_ADM_131276535415392&SURF=Transmis") 
OR (etatSuivant = "Etat_ADM_121276535415390&SURF=Traitement en cours") 
OR (etatSuivant = "Etat_ADM_11276535415374&SURF=A l étude") 
OR (etatSuivant = "Etat_ADM_81276535415384&SURF=Programmé")) 
AND ((categorisation LIKE "%Propreté:Tas sauvage%") 
OR (categorisation LIKE "%Circulation et stationnement:Véhicule gênant%") 
OR (categorisation LIKE "%Circulation et stationnement:Véhicule ventouse_Epave_Brûlé%")
OR (categorisation LIKE "%Propreté:Passage ponctuel%") 
OR (categorisation LIKE "%Propreté:Corbeille pleine%") 
OR (categorisation LIKE "%Propreté:Huile_Verre cassé%") 
OR (categorisation LIKE "%Propreté:Désherbage_Feuilles mortes%") 
OR (categorisation LIKE "%Propreté%") 
OR (categorisation LIKE "%Espace Vert:Entretien des massifs:Nettoyage%") 
OR (categorisation LIKE "%Mobilier urbain:Corbeille:Réparation%")) 
AND (confidentialite = "Non"))
AND STR_TO_DATE(dateModification, '%c/%e/%Y %H:%i') BETWEEN '06/02/2012 11:55:09' AND '06/02/2012 19:55:09'