以下应该找到我的选举ID和日期。出于某种原因,它似乎没有认出日期,也不会与它们相匹配。
SELECT *
FROM `voting_intention`
WHERE `elector` = '119'
AND `election_date` = '05-07-2012'
LIMIT 0 , 30
为什么会这样,我们如何解决它。
答案 0 :(得分:0)
试试这个
SELECT *
FROM `voting_intention`
WHERE `elector` = '119'
AND `election_date` = '2012-07-05'
LIMIT 0 , 30
日期格式应为yyyy-mm-dd
根据您的更新,election_date
的数据类型为varchar
。
如果您的日期格式与yyyy-mm-dd
一致,请使用以上查询。
如果格式为dd-mm-yyyy
,则您的查询应该有效。
您需要根据您的格式调整条件。
SELECT *
FROM `voting_intention`
WHERE `elector` = '119'
AND `election_date` = 'dateFormat'
LIMIT 0 , 30
varchar
日期的缺点是,当条件为>,> =,<,< =。 时,您无法获取数据
日期始终使用 timestamp 。
答案 1 :(得分:0)
数据库中可能存在一些不可见的字符,例如\ r或\ n或空格......首先检查一下。尝试使用trim确保删除字符:
SELECT *
FROM `voting_intention`
WHERE `elector` = '119'
AND TRIM(election_date) = '05-07-2012'
LIMIT 0 , 30