2012-02-29 50 views
0

在MySQL 5.1的命令提示符中,我無法使用Date函數。它會告訴語法錯誤。任何夥伴都可以幫我解決這個問題嗎?在我的本地系統,其中mysql版本是5.0同樣的命令工作正常...!日期函數不適用於Mysql 5.1

我很困惑mysql 5.1.39有什麼可能是錯誤的日期支持my.cnf有任何設置。

SELECT date('2012-03-01 03:15:00') 

上面的命令是給錯誤:

MySQL said: 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near '('2012-03-01 03:15:00')' at line 1 

上面的命令不mysql 5.1.39工作。你能幫我解決這個問題嗎?

+0

我不知道 - 但它可能是那個日期不允許時間與日期一起傳遞嗎?這是有道理的...嘗試使用日期時間,而不是 – Marle1 2012-02-29 10:56:41

+0

我在表中使用datetime字段。問題在於查詢記錄。 – 2012-02-29 11:05:43

+0

您發佈的錯誤'near'(start_time)= '08:00:00')'。我看不到在你的查詢中有什麼'(start_time)'。請在運行時添加整個查詢。 – 2012-02-29 11:32:19

回答

1

檢查ANSI_QUOTES SQL模式找到了MySQL日期函數,如果它被設置 -

SHOW VARIABLES LIKE 'sql_mode'; 

從參考:ANSI_QUOTES - 治療'「作爲標識符引號字符(如'’ quote character) and not as a string quote character. You can still use ‘'引用此模式的標識符啓用ANSI_QUOTES啓用後,不能使用雙引號引用文字字符串,因爲它被解釋爲標識符。更改「報價與」,並執行 -

SELECT DATE('2012-03-01 03:15:00'); 
+0

謝謝你回答Devart,我檢查了單引號,雙引號和'''所有。他們都沒有工作.. :( – 2012-02-29 11:44:45

+0

你是怎麼運行這個查詢的?試着從mysql控制檯執行它 – Devart 2012-02-29 12:17:54

+0

我在控制檯和phpmyadmin gui中都運行了這個查詢:( – 2012-03-01 06:19:20