亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Mysql數據庫中sql語句的where條件中文本匹配問題

發布時間:2021-11-01 10:10:35 來源:億速云 閱讀:526 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹如何解決Mysql數據庫中sql語句的where條件中文本匹配問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Mysql數據庫中sql語句中where條件中文本匹配問

問題描述

字段name類型為varchar時(CHAR,VARCHAR和TEXT情況都一樣),

語句一

select * from aaa where name='a';

語句二

select * from aaa where name='a ' ;

結果一樣:不能區分末尾是否有空格,

建議:

1、如果必須精確匹配(包括大小寫和末尾空格)建議轉換成二進制比較,使用select * from aaa where name=BINARY'a ' ;

2、如果需要精確校驗末尾是否有空格,但是保留大小寫模糊匹配(默認校對規則_ci大小寫不敏感),建議增加length(name)就可以比較出長度來區分

3、如果需要精確校驗大小寫,但是保留末尾空格忽略,可以使用select * from aaa where name='a' collate utf8_cs; (字符為utf8)

4、默認設置情況下,

a、where name='a';

b、where name='a ';(末尾有空格)

c、where name='A';

b、where name='A ';(末尾有空格)

四中情況匹配的結果是一樣的,

經查詢官方文檔:

所有MySQL歸類都是PAD SPACE類型。 這意味著所有CHAR,VARCHAR和TEXT值都會進行比較,而不考慮任何尾隨空格。 在此上下文中的“比較”不包括LIKE模式匹配運算符,其尾部空格是重要的。 例如:

mysql> CREATE TABLE names (myname CHAR(10));

Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO names VALUES ('Monty');

Query OK, 1 row affected (0.00 sec)

mysql> SELECT myname = 'Monty', myname = 'Monty ' FROM names; +------------------+--------------------+

| myname = 'Monty' | myname = 'Monty ' |

+------------------+--------------------+

 | 1 | 1 |

+------------------+--------------------+

 1 row in set (0.00 sec)

mysql> SELECT myname LIKE 'Monty', myname LIKE 'Monty ' FROM names; +---------------------+-----------------------+ |

 myname LIKE 'Monty' | myname LIKE 'Monty ' |

 +---------------------+-----------------------+

| 1 | 0 |

+---------------------+-----------------------+

 1 row in set (0.00 sec)

對于所有MySQL版本都是如此,并且不受服務器SQL模式的影響。

注意

有關MySQL字符集和歸類的更多信息,請參閱第10章,字符集,歸類,Unicode。 有關存儲要求的更多信息,請參見第11.7節“數據類型存儲要求”。

對于尾隨填充字符被去除或比較忽略它們的情況,如果列的索引需要唯一值,則插入到僅與尾部填充字符數不同的列值中將導致重復鍵錯誤。 例如,如果一個表包含'a',則嘗試存儲'a'會導致重復鍵錯誤。

以上是“如何解決Mysql數據庫中sql語句的where條件中文本匹配問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寻乌县| 桐柏县| 柘城县| 宣威市| 金秀| 宝清县| 图木舒克市| 那曲县| 若尔盖县| 盐边县| 灵寿县| 九江县| 会东县| 邳州市| 磐安县| 泌阳县| 周宁县| 孟津县| 绍兴市| 望奎县| 宁武县| 五峰| 麟游县| 钟山县| 钦州市| 盐亭县| 松原市| 天祝| 肥乡县| 桃园县| 萨迦县| 许昌县| 平凉市| 濮阳县| 宜宾市| 澎湖县| 延吉市| 都匀市| 汉中市| 出国| 泰和县|