0

以下は、選挙人IDと日付を見つけるはずです。何らかの理由で日付を認識できず、どの日付とも一致しません。

SELECT * 
FROM  `voting_intention` 
WHERE  `elector` =  '119'
AND  `election_date` =  '05-07-2012'
LIMIT 0 , 30

これはなぜですか、どうすれば修正できますか。

4

2 に答える 2

0

Try this

SELECT * 
FROM  `voting_intention` 
WHERE  `elector` =  '119'
AND  `election_date` =  '2012-07-05'
LIMIT 0 , 30

Date format should be yyyy-mm-dd

Update 1

Per your update, datatype of election_date is varchar.

If your date are in consistent format like say yyyy-mm-dd then use above query.

If its in format of dd-mm-yyyy then your query should work.

You will need to tweak the condition as per the format that you have.

SELECT * 
FROM  `voting_intention` 
WHERE  `elector` =  '119'
AND  `election_date` =  'dateFormat'
LIMIT 0 , 30

Disadvantage of varchar for date is that you can't get data when your condition says >, >=, <, <=.

For date always use timestamp.

于 2012-06-28T11:10:15.557 に答える
0

\r、\n、またはスペースなど、データベースに目に見えない文字が含まれている可能性があります...最初にこれを確認してください。文字が確実に削除されるように、トリムを使用してみてください。

SELECT * 
FROM  `voting_intention` 
WHERE  `elector` =  '119'
AND  TRIM(election_date) =  '05-07-2012'
LIMIT 0 , 30
于 2012-06-28T11:27:19.793 に答える