mysql中如何查询中文字段

Posted

tags:

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

数据库中涉及到了中英文混合内容,当我需要查询某个中文时应该如何查询。
首先不能改变原有的表结构,utf8的编码不能动。网上也找了方法,像SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'类似的均不成功,网高手指点,谢谢!
感谢两位的回复。我现在使用C/S模式,这个问题我现在自己找到解决方案了。
感谢各位回复

直接用中文名称即可查询。

可按如下方法做测试:

1、创建表插入数据:

create table test
(序号 int,
名称 varchar(10));
insert into test values (1,\'张三\');
insert into test values (2,\'李四\');

2、执行查询:

select * from test where 序号=1

结果显示:

也就是说中文字段名在查询中可以直接引用。

参考技术A 你页面的编码是什么,把页面的编码也改成utf8了没呢。 参考技术B 同问了。。我用like还能查找得到英文和偶数个字的中文。。基数中文就莫名其妙的悲剧了。。

如何将键映射到 MySQL 选择查询中单个字段的值

【中文标题】如何将键映射到 MySQL 选择查询中单个字段的值【英文标题】:How to map keys to values for an individual field in a MySQL select query 【发布时间】:2013-04-15 10:04:39 【问题描述】:

假设我们有一个字段状态(0 表示禁用,1 表示启用),我们需要直接使用 MySQL 获取字面值,换句话说:如果我们请求查询:

select status 
from `<table>`

我们需要该列显示如下:

  status
----------
 disabled
 enabled

不如下:

 status
--------
   0
   1

知道我们没有 mysql 状态表可以像往常一样加入并获取值。

【问题讨论】:

【参考方案1】:

您也可以使用if 控制流函数(因为您的status 字段只能采用两个值 - [0,1]):

select if(status = 0, 'disabled', 'enabled')
from <...>

【讨论】:

【参考方案2】:

您可以使用 case 语句,例如:

select (case when status = 0 then 'disabled'
             when status = 1 then 'enabled'
        end)
from . . .

【讨论】:

以上是关于mysql中如何查询中文字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql 的查询结果中增加一个字段进去

如何在 MySQL 中使用子查询中的字段?

MySQL:如何在查询中向日期时间字段添加一天

如何在 MySQL 查询中返回相关字段而不是参考号

如何将键映射到 MySQL 选择查询中单个字段的值

如何在 Mysql X DevAPI 中查询 Null 或 Missing 字段?