MySQL的char和varchar存儲和查詢中包含空格的實驗
MySQL版本
一、測試char包含空格的存儲和查詢
測試發現,存儲的數據,char數據類型的右側空格存儲的時候被刪除了,但是左側空格還保留。
測試發現,查詢的時候,char數據類型只是會判斷查詢條件中左側的空格,右側的空格也會忽略,因此查詢1和查詢3的結果是一致的。
二、測試varchar包含空格的存儲和查詢
測試發現,存儲的數據,varchar數據類型的空格均保留,沒有進行刪除。
測試發現,查詢的時候,varchar數據類型只是會判斷查詢條件中左側的空格,會忽略右側的空格,因此查詢1和查詢3的結果是一致的。
三、小結
char在存儲的時候會將右側空格進行剔除,保留左側空格。
varchar在存儲的時候保留所有空格,不進行任何刪除
varchar和char在查詢的時候都只會根據where條件中的左側空格進行判斷,右側末尾的空格會忽略