2017-09-10 148 views
-1

嗨,大家好,我有一個問題,在數據庫中排序名爲「change」的列是一個保留字,其數據類型爲「FLOAT」。MySql排序浮點型數據類型

嘗試了不同的方式,但仍然不能得到它。

"select * from data order by CAST('change' AS SIGNED) DESC"; 
"select * from data order by ABS(change) DESC"; 
"select * from data order by ABS(change - float) DESC"; 
"select CAST(change as float) AS ABC* from data order by ABC DESC"; 

我試過很多不同的組合,但仍沒有運氣enter image description here

我的繼承人示例數據庫 的照片預先感謝您!

+1

MySQL使用back-ticks分隔標識符。 – jarlh

+0

*「但仍然沒有運氣」* - 沒有運氣什麼?在排序?或者你有語法錯誤? – axiac

+0

檢查這個問題:https://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks-in-mysql – axiac

回答

1

使用反勾

ORDER BY `CHANGE` DESC 

每個RDBMS具有處理保留字不同的方式。 MySQL使用back ticks:`

你得到的錯誤與鑄造無關。

+0

後蜱的作品!謝謝你。花了近3個小時的單引號,重新安排了陳述,我所要做的就是後面的嘀嗒聲。再次感謝! – Gray

0

正如用戶'sagi'建議的那樣,使用保留字「change」,theres不需要鑄造或單引號,而是back tick可以處理原始問題。對於Mac而言,它位於關鍵字1上的左側。謝謝你們!