0
我有一個表,其中一列是數據類型varchar。下面是一些值:MySQL是否將Varchars視爲絕對值?
-.001
-.010
-7.13
當我降序排序,它給了我這樣的:
-7.13
-.010
-.01
這是倒退,但如果你的數字的絕對值是正確的。同樣,如果我爲這些數字的最大值運行查詢,它會給我-7.13。
MySQL是否爲varchar做了什麼?
(PS我使用的續集專業的是Mac,有時有一些有趣的設置上。莫非是什麼原因呢?)
謝謝。所以如果我在做一個案例的時候我會說:「一個<-.78的案例」會真的給我正確的價值嗎?或者它會給我0的值呢? – japem 2014-11-03 02:55:43
MySQL將正確處理該聲明。它是否做你想要的取決於你的期望。 MySQL會在需要數字的上下文中將字符串轉換爲數字。在這種情況下,如果「a」不是一個數字,它將被轉換爲數字。 – 2014-11-03 02:59:10