MySQL数据库中查找中文字符
我的MSQL数据库中有的项包含中文,有的项包含英文,我想把包含中文的项select出来,该如何写语句呢?(如果能把英文项都提取出来也可)...
我的MSQL数据库中有的项包含中文,有的项包含英文,我想把包含中文的项select出来,该如何写语句呢?(如果能把英文项都提取出来也可)
展开
3个回答
展开全部
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)<>CHARACTER_LENGTH(`row_name`)
这样就能找出含有中文的记录了;如果查找全英文的记录,长度是相等的,把“<>”换成“=”就可以了,即
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)=CHARACTER_LENGTH(`row_name`)
这样就能找出含有中文的记录了;如果查找全英文的记录,长度是相等的,把“<>”换成“=”就可以了,即
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)=CHARACTER_LENGTH(`row_name`)
追问
有道理!我试试.
不好使啊, 中文英文用下面那条语句都能搜索出来,有什么其他的设置要设置吗?我是MySQL
展开全部
select substr(‘你想查询的项’,1,1) from t where substr(‘你想查询的项’,1,1) in(select chr(ascii('A') + level - 1) from dual connect by rownum <= 26)
不知道有没有简单方法
不知道有没有简单方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--提取英文
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
这是个函数,不过基本东西都有,应该可以。你试试看
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
这是个函数,不过基本东西都有,应该可以。你试试看
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询