MySQL数据库中查找中文字符

我的MSQL数据库中有的项包含中文,有的项包含英文,我想把包含中文的项select出来,该如何写语句呢?(如果能把英文项都提取出来也可)... 我的MSQL数据库中有的项包含中文,有的项包含英文,我想把包含中文的项select出来,该如何写语句呢?(如果能把英文项都提取出来也可) 展开
 我来答
lulu_today163
推荐于2017-11-25
知道答主
回答量:12
采纳率:0%
帮助的人:4.3万
展开全部
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)<>CHARACTER_LENGTH(`row_name`)
这样就能找出含有中文的记录了;如果查找全英文的记录,长度是相等的,把“<>”换成“=”就可以了,即
SELECT * FROM `tableA` WHERE LENGTH(`row_name`)=CHARACTER_LENGTH(`row_name`)
追问
有道理!我试试.
不好使啊, 中文英文用下面那条语句都能搜索出来,有什么其他的设置要设置吗?我是MySQL
yuanzai32
2013-04-09 · TA获得超过114个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:118万
展开全部
select substr(‘你想查询的项’,1,1) from t where substr(‘你想查询的项’,1,1) in(select chr(ascii('A') + level - 1) from dual connect by rownum <= 26)
不知道有没有简单方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-04-09 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:100%
帮助的人:21.7万
展开全部
--提取英文
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

这是个函数,不过基本东西都有,应该可以。你试试看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式