MySQL数据库中查找中文字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库中查找中文字符相关的知识,希望对你有一定的参考价值。

我的MSQL数据库中有的项包含中文,有的项包含英文,我想把包含中文的项select出来,该如何写语句呢?(如果能把英文项都提取出来也可)

SELECT * FROM `tableA` WHERE LENGTH(`row_name`)<>CHARACTER_LENGTH(`row_name`)
这样就能找出含有中文的记录了;如果查找全英文的记录,长度是相等的,把“<>”换成“=”就可以了,即
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)=CHARACTER_LENGTH(`row_name`)追问

有道理!我试试.
不好使啊, 中文英文用下面那条语句都能搜索出来,有什么其他的设置要设置吗?我是mysql

参考技术A select substr(‘你想查询的项’,1,1) from t where substr(‘你想查询的项’,1,1) in(select chr(ascii('A') + level - 1) from dual connect by rownum <= 26)
不知道有没有简单方法
参考技术B --提取英文
IF OBJECT_ID('DBO.GET_STR') IS NOT NULL
DROP FUNCTION DBO.GET_STR
GO
CREATE FUNCTION DBO.GET_STR(@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^a-z]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')
END
RETURN @S
END
GO
--测试
PRINT DBO.GET_STR('呵呵ABC123ABC')
GO

这是个函数,不过基本东西都有,应该可以。你试试看

以上是关于MySQL数据库中查找中文字符的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL 数据库中查找具有普通字符串的 utf8 字符串

MYSQL:查找字符串中字符的最后一次出现

MySQL数据库中实现对中文字段按照首字字母排序

SQL如何查找和删除MYSQL数据库中包含特定字符串的记录

MySql中如何在一个字段(值为字符串)中查找某一个字符

字谜查找程序 php mysql