將字串轉換成數值

最近在改版自己的佈景主題,修改新樣式並順便將一些功能直接融入佈景主題內,移除一些用不到的外掛,希望能提高網站速度(跑題了~~)。言歸正傳,在這次的新主題中有一個抓取”熱門文章”的功能,是透過文章瀏覽量去做判斷的…這個功能最直接的想法就是用MYSQL中的Order By去實作,(一段wp_postwp_post_meta之間的交織複雜的關係…)霹靂啪啦的很快的就寫出來了。之後在本機實測了一下…看到有輸出東西,便得意的覺得:”應該正確吧!!”,很快的就繼續下一個功能實作了~~但就在正式上線時,才突然發現…什麼!!為何沒有照瀏覽量排序(崩潰)

後來經過一陣內心小劇場後,突然靈光一閃的發現,原來wp_post_meta的value資料格式是LongText難怪Order By 會錯誤(傻)。當然找到到問題原因之後,便動手補起這個小小的BUG啦~~至於怎麼改,很容易的只要將原本的欄位從字串轉換成數值(Int或Real)再用Order By便能正確的排序了。

SQL語法:

CAST(`欄位` AS DECIMAL(10,2))

原始的查詢語句:

正確的查詢語句:

感謝您的閱讀,請用力地分享讓大家知道吧~~

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

很抱歉,此文章關閉留言