站內搜尋

Wednesday, October 26, 2016

[MYSQL] VARCHAT 型態的欄位值 比大小結果不正確的快速解法

假設有兩個欄位 A & B 型態為 VARCHAT,A欄位存 '10'、B欄位存 '3',語法如下:
SELECT IF(A > B, 1, 0) AS ans FROM mytable
直覺反應 ans 會是 1,但是結果會是 0。

快速解法如下:
SELECT IF((A + 0) > (B + 0), 1, 0) AS ans FROM mytable
透過+0這個動作讓型態轉成數值。

No comments:

Post a Comment