`

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运行SQL语句中文乱码问题的解决方法

    ### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...

    解决MySql大数据Like查询慢的问题

    本教程将探讨如何解决MySQL大数据量下LIKE查询慢的问题,并介绍一种JAVA模拟LIKE的方法来提升查询效率。 首先,我们需要理解LIKE查询的工作原理。当使用LIKE查询时,如果模式以%开头或结尾,MySQL无法利用索引来...

    SQL语句 SELECT LIKE like用法详解SQL语句 SELECT LIKE like用法详解

    2. `*`:在某些SQL方言中(如MySQL),`*`和`%`功能相同,但在标准SQL中,`*`通常用于目录路径或文件名中的通配符,而不是作为LIKE语句的通配符。 3. `?`:代表单个任意字符。例如,`name like 'b?b'`会返回像“brb...

    MySQL数据库查询中的like问题.pdf

    MySQL数据库查询中的like问题 MySQL 数据库查询中的like... MySQL 数据库查询中的like问题是由于 MySQL 数据库的设计特点和中文汉字的双字节字符引起的,可以通过使用binary关键字或指定字符集来避免多余数据的问题。

    mysql常用性能查询语句

    如果该值较高,并且有性能问题,应该首先优化查询,然后拆分表或使用复制。 14. 查看创建时间超过 slow_launch_time 秒的线程数 使用语句:show status like 'slow_launch_threads'; 该语句可以查看创建时间超过 ...

    MySQL的SQL语句大小写不敏感问题解决方案

    解决这个问题有多种方法。首先,可以在 my.conf 文件中加入 `lower_case_table_names = 0`,这样可以使 MySQL 区分表名的大小写。 其次,可以在创建表时设置字段的 BINARY 属性,以便区分大小写。例如: ``` ...

    mysql语句转postgres的工具

    在这个过程中,`MysqlToPostgresUtil`工具扮演着重要的角色,它能帮助我们将MySQL的DDL(Data Definition Language)语句转换为PostgreSQL兼容的格式,从而简化迁移过程。 MySQL和PostgreSQL虽然都是关系型数据库...

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

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

    MySQL语句大全(个人整理)

    * 显示数据库:使用 `show databases` 语句可以显示当前 MySQL 服务器中的所有数据库。 * 使用数据库:使用 `use 数据库名称` 语句可以选择当前要操作的数据库。 * 创建数据库:使用 `create database 数据库名称` ...

    MySQL Like语句的使用方法

    MySQL中的`LIKE`语句是用于在查询中匹配字符串数据的一种非常重要的方法。它允许你在`WHERE`子句中设置模式匹配,以便找到符合特定模式的记录。在处理字符串数据时,`LIKE`通常与其他通配符一起使用,如`%`和`_`。 ...

    mysql基本语句大全

    LIKE语句:CREATE TABLE tab_new LIKE tab_old 这将将tab_old表的完整字段结构和索引复制到tab_new表中。 B、使用CREATE TABLE ... AS语句:CREATE TABLE tab_new AS SELECT col1,col2… FROM tab_old DEFINITION...

    mysql中文乱码问题

    MySQL 中文乱码问题解决方法 MySQL 是一个功能强大且广泛应用的关系型数据库管理系统,但是,在使用 MySQL 时,用户经常会遇到中文乱码问题。今天,我们将讨论在 MySQL 中的中文乱码问题,并提供解决方法。 MySQL...

    Python使用sql语句对mysql数据库多条件模糊查询.pdf

    Python 使用 SQL 语句对 MySQL 数据库多条件模糊查询 Python 是一种广泛使用的编程语言,而 MySQL 是一种常用的关系型数据库管理系统。在实际应用中,我们经常需要使用 Python 连接 MySQL 数据库,并执行多条件...

    mysql语句跟踪.txt

    下面将详细解析这些日志的功能、配置方法以及如何利用它们进行数据库性能监控与问题排查。 ### 1. General Log(通用日志) General Log记录了所有发送到MySQL服务器的SQL语句,包括读取、写入、更新等操作,但不...

    MySQL数据库系统中文乱码问题及解决方案.pdf

    MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在...

    php mysql like 实现多关键词搜索的方法

    从内容中提供的示例来看,直接使用AND连接两个LIKE语句是错误的,如下所示: ```sql $res=mysql_query("select * from peter where id like '%中草药%' and '%6%'"); // 这样写是报错的; ``` 这里的错误在于AND...

    mysql数据抽取,自动生成hive建表语句

    这个过程不仅可以节省手动编写建表语句的时间,还可以减少因人为错误导致的问题。对于大型数据仓库项目,这样的自动化工具能够大大提高效率,确保数据迁移的准确性和一致性。 总的来说,“mysql数据抽取,自动生成...

    MySQL数据库常用语句

    有时候需要通过命令行重启MySQL服务,可以使用如下命令(Windows环境下): ```bash C:\WINDOWS\system32>net stop MySQL C:\WINDOWS\system32>net start MySQL ``` #### 九、显示所有数据库 要查看当前MySQL服务器...

Global site tag (gtag.js) - Google Analytics