2014-04-07 58 views
0

我不知道這個問題是在下面我的存儲過程是什麼:錯誤代碼:1054在未知列「where子句」

CREATE PROCEDURE `GetDataByColNameByTime 
`(
IN Col_Name VARCHAR(50), 
IN DateStart VARCHAR(50), IN DateEnd VARCHAR(50)) 
BEGIN 
SET @sqlx = 
CONCAT 
('SELECT ', Col_Name , ' , SAMPLE_TIME FROM indicator_data_history I 
WHERE (I.SAMPLE_TIME >= `2014-04-04 11:47:57`) 
AND (I.SAMPLE_TIME <= `2014-04-04 11:33:57`) 
order by SAMPLE_TIME'); 
PREPARE stmtx FROM @sqlx; 
EXECUTE stmtx; 

我可以做一個類似的查詢工作,如果寫成一個簡單的語句:

SELECT RT , SAMPLE_TIME FROM indicator_data_history I WHERE (I.SAMPLE_TIME >= '2014-04-04 11:47:57') AND (I.SAMPLE_TIME <= '2014-04-04 11:33:57') ; 

分析後的報價似乎是問題2014-04-04 11:33:57 - 任何想法如何解決這一問題?

回答

1

反斜槓(`)用於列名和表名。單引號(')用於字符串。例如,這是無效的:

I.SAMPLE_TIME >= `2014-04-04 11:47:57` 

,這是有效的:

I.SAMPLE_TIME >= '2014-04-04 11:47:57' 
+0

@ D. Kasipovic,事情是你怎麼能在字符串中添加引號,因爲我有做一個語法錯誤你建議 – user3506769

+0

是\'的路要走嗎? – user3506769

+0

終於有了這個把戲。 – user3506769

相關問題