在MySQL中,空格被算作一個字符,無論它出現在字符中還是字符串的開頭或結尾。
mysql>SELECT LENGTH('abc de'); +---------------+ | LENGTH('abc de') | +---------------+ | 6 | +---------------+ 1 row in set (0.00 sec) mysql>SELECT LENGTH(' abcde '); +----------------+ | LENGTH(' abcde ') | +----------------+ | 7 | +----------------+ 1 row in set (0.00 sec)
如上例所示,'abc de'這個字符串中有一個空格,所以它的長度為6。再看' abcde '這個字符串,即它開頭和結尾都有空格,所以它的長度為7。
在MySQL中,空格也同樣會影響字符串的比較。
mysql>SELECT 'abc' = 'abc '; +--------------+ | 'abc' = 'abc ' | +--------------+ | 0 | +--------------+ 1 row in set (0.00 sec) mysql>SELECT 'abc ' = 'abc '; +-----------------+ | 'abc ' = 'abc ' | +-----------------+ | 1 | +-----------------+ 1 row in set (0.00 sec)
如上例所示,'abc'和'abc '這兩個字符串不相等,因為它們的長度不同。而'abc '和'abc '這兩個字符串相等,因為它們長度相同,且除了開頭和結尾的空格外,內容相同。
上一篇mysql中豎線