`

like语句中文有问题 mysql like语句 like的用法 解决方法

 
阅读更多
 在做MySQL的Like查询是发现中文搜索总是有问题

方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。

方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。

方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;

方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可
问题出现的原因是:在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
例子
$query="SELECT `id`,`status`,`booker`,`appoint2menter`,`book` FROM `boong` WHERE  `booker` like '%$searchword%' OR `appoi5ter` like '%$searchword%'  ORDER BY `id` DESC ";
分享到:
评论

相关推荐

    mysql语句转postgres的工具

    从mysql数据库迁移到postgres数据库转换ddl语句的工具,添加了自动更新时间的触发器。

    MySQL 数据库 like 语句通配符模糊查询小结

    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 今天在使用MySQL语句执行增删改查操作时,控制台报出了以下错误:Parameter...

    MySQL Like语句的使用方法

    本文介绍一下关于MySQL查询字符串中包含字符的记录一些常用方法,这里包括有REGEXP、FIND_IN_SET、Like

    MySQL数据库常用语句

    MySQL数据库常用语句,修改数据库字符集:alter database jsp character set utf-8; 建立数据库并制定数据库字符集:create database jsp character set utf-8; 查看系统的字符集和排序方式:show variables like '...

    2023年,MySQL最新最详细的教程资源 详细讲解了MySQL的各种用法

    内容:包含了MySQL所有的详细用法, MySQL 连接 MySQL 创建数据库 MySQL 删除数据库 MySQL 选择数据库 MySQL 数据类型 MySQL 创建数据表 MySQL 删除数据表 MySQL 插入数据 MySQL 查询数据 MySQL WHERE 子句 MySQL ...

    还原大备份mysql文件失败的解决方法分享

    用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在mysql的控制台上执行 . 代码如下: show variables like ‘%timeout%’; show variables like ‘%packet%’; set global ...

    mysql乱码问题解决

    打印sql语句还是中文 到数据库发现乱码,本以为是hibernate搞的,结果证明不是hibernate 自己也是网上解决办法 自己的问题解决了 希望能帮助其他人 运行命令:SHOW VARIABLES LIKE 'character_set_%'; 结果如下 '...

    如何在MySQL中判断中文字符?

     mysql> SHOW VARIABLES LIKE "%version%";  +  ————————-+——————————+  | Variable_name | Value |  +  ————————-+——————————+  | protocol_version | 10 

    mysql like查询字符串示例语句

    在mysql中如果我们要模糊查询数据我们可以使用like带%%号来实现查询,下面我来简单的介绍一下关于mysql like使用方法

    Shell脚本中执行sql语句操作mysql的5种方法

    本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。 1、将SQL语句直接嵌入到shell脚本文件中 代码...

    mysql 的 like 问题,超强毕杀记!!!

    方法一: 解决方法是对于包含中文的字段加上”binary”属性,使之...以上述问题为例,使用方法为: SELECT * FROM table WHERE locate(field,’李’) > 0; 方法四: 把您的Select语句改成这样,SELECT * FROM T

    MySQL中union和order by同时使用的实现方法

    MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明。首先看下面的t1表。 1、如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY。 SELECT * FROM ...

    解决MySQL数据库中文模糊检索问题的方法

    本人以前也曾遇到过类似问题,经详细阅读MySQL的Manual,发现可以有一种方法很方便的解决并得到满意的结果。 希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如下SQL语句: 以下为引用的内容: Code: ...

    MySQL 教程 开发文档 从基础到精通

    十三.MySQL WHERE 子句 十四.MySQL UPDATE 更新 十五.MySQL DELETE 语句 十六.MySQL LIKE 子句 十七.MySQL UNION 操作符 十八.MySQL 排序 十九.MySQL GROUP BY 语句 二十.MySQL 连接的使用 二十一. MySQL ...

    如何在MySQL中提高全文搜索效率

    很多互联网应用程序都提供了全文搜索功能,在后台这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。MySQL...

    Sql 语句详解

    11. SQL LIKE 操作符 15 12. SQL 通配符 16 13. SQL IN 操作符 18 14. SQL BETWEEN 操作符 18 15. SQL Alias(别名) 19 16. SQL JOIN 20 17. SQL INNER JOIN 关键字 22 18. SQL LEFT JOIN 关键字 23 19. SQL RIGHT ...

    高并发基础之-MySql性能优化.pdf

    目标 了解什么是优化 掌握优化查询的方法 掌握优化数据库结构的方法 掌握优化 MySQL 服务器的方法 2. 什么是优化? 合理安排资源、调整系统...查看你的 mysql 数据库是否有慢查询:SHOW STATUS LIKE 'Slow_queries'

    最好用的Python连接Mysql库文件,防止SQL注入,可用数组编写SQL

    Python连接Mysql库文件, 1、防止SQL注入, 2、用数组编写SQL, 3、防止误删数据和误更新数据 4、支持千万级QPS

Global site tag (gtag.js) - Google Analytics