2011-08-05 82 views
0

我有一個字段名稱「日期」數據類型「字符」,並在該字段中的值是「04-08-2011 04:47:08 EDT」 但當我想從我們對最新數據的基礎依據像從數據庫中提取記錄的問題

select * from table_name where date="04-08-2011 04:47:08 EDT" 

,但我沒有得到這個查詢的任何結果,任何一個能幫助我

+0

可能字段太短,一些數據被截斷? – RiaD

+0

也許你會得到一些錯誤嘗試mysql_error() – RiaD

+1

雖然手冊說它允許作爲一個不帶引號的標識符,「日期」是一個mysql關鍵字。也許可以嘗試在其周圍添加反引號(')以避開字段名稱。 –

回答

0

如果您使用的數據類型char然後是設定長度下的任何字符列的右側將填充空格。

例如

char(30)將墊像這樣:

04-08-2011 04:47:08 EDT  <-- spaces up to arrow 

使用日期數據類型或VARCHAR(如果你必須)。


在迴應評論:

您是否運行從phpMyAdmin的這個查詢?如果是這樣,它是否會返回任何行,如果沒有,請嘗試。

+0

hello @Prisoner對不起,我使用varchar,但它仍然沒有得到任何結果 –

+0

請參閱我的回覆。 – Prisoner

2

嘗試使用LIKE說法,因爲如果你的領域有X個字符,並插入X-3個字符,3左字符都充滿了空間,所以修改您的查詢是這樣的:

select * from table_name where date LIKE "04-08-2011 04:47:08 EDT%" 

編輯:date是MySQL中的字段類型,所以此查詢無效。如果你的字段是'日期',你需要把它放在``之間,所以查詢將會是這樣的:

select * from table_name where `date`="04-08-2011 04:47:08 EDT" 
+0

這不是一個好建議,你會毫無理由地在數據庫中攜帶空白空間。然後,您將使用更昂貴的查詢來查找數據。無論如何,如上所述,他實際上使用'varchar'而不是'char'。 – Prisoner

+1

事實上,我剛剛閱讀了評論,並且也意識到了「日期」,這是一個保留字。 – Ivan

+0

@Ivan它的工作,日期喜歡「04-08-2011 04:47:08 EDT%」, 你可以告訴那裏有什麼問題 –