mysql查询某一个字段是否包含中文字符

 在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是:

 

 SELECT col FROM table WHERE length(col)!=char_length(col)

 

  网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的。

 

 

# 以下这两个方法查询字段中是否包含中文 
SELECT country FROM kaggle_main_info WHERE length(country)!=char_length(country);

select country from kaggle_main_info where not(country regexp "[\u0391-\uFFE5]") ORDER BY country DESC ;
posted @ 2017-08-31 10:07  Faron  阅读(2163)  评论(0编辑  收藏  举报