MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中中文编码字符大小写转换造成了这种现象。

方法一:

解决方法是对于包含中文的字段加上"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%'即可!

方法五:

如果你在Windows下使用已经编译好的MySQL,可以修改My.ini中的字符集选项。

default-character-set = gb2312

在默认情况下,mysql搜索不区分大小写(但某些字符集始终区分大小写,如czech)。这意味着,如果你使用col_name LIKE 'a%'进行搜索,你将获得以A或a开始的所有列。

如果打算使搜索区分大小写,请确保操作数之一具有区分大小写的或二进制校对。例如,如果你正在比较均适用latin1字符集的列和字符串,可使用COLLATE操作符,使1个操作数具有latin1_general_cs或latin1_bin校对特性。例如:

col_name COLLATE latin1_general_cs LIKE 'a%'

col_name LIKE 'a%' COLLATE latin1_general_cs

col_name COLLATE latin1_bin LIKE 'a%'

col_name LIKE 'a%' COLLATE latin1_bin

如果希望总是以区分大小写的方式处理列,可使用区分大小写的或二进制校对声明它。建表时候使用BINARY标示。

CREATE TABLE T(

A VARCHAR(10) BINARY

);

如果是自己的服务器使用win系统,方法五是最好的方法!如果是linux系统,可以使用方法二!如果不是自己的机子,可以使用方法一,这样你的用户名是严格区分大小写的!

php mysql 查询 区分大小写_MySQL查询字符串时区分大小写相关推荐

  1. mysql 严格区分大小写_Mysql查询英文如何严格区分大小写?

    1. 前提: 在Mysql数据库中进行查询时,希望英文严格区分大小写.默认情况下是不区分大小写的. 2. 演示如下: 在数据库表emp中,job字段中存储的值有'Engineer',现在的情况是,下面 ...

  2. 在mysql中通配符_mysql查询中通配符的使用

    mysql查询中通配符的使用 在mysql查询中经常会使用通配符,并且mysql的通配符和pgsql的存在区别(稍候再讨论),而且mysql中还可以使用正则表达式. SQL模式匹配: "_& ...

  3. mysql 主键查询性能_MySQL查询性能优化(精)

    MySQL查询性能优化 MySQL查询性能的优化涉及多个方面,其中包括库表结构.建立合理的索引.设计合理的查询.库表结构包括如何设计表之间的关联.表字段的数据类型等.这需要依据具体的场景进行设计.如下 ...

  4. mysql 廖雪峰_mysql查询(廖雪峰sql教程学习摘录)

    mysql默认不区分大小写 条件查询 select * from students                                                            ...

  5. mysql复杂连接查询语句_MySQL查询语句之复杂查询

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  6. mysql 性能查看_MySQL查询性能问题排查

    Mysql数据库的性能问题排查是十分复杂的,具体方法视场景而定,这里只做大致思路分析. 1. 整体考虑导致查询性能低下的各种因素 导致SQL查询变慢的原因是多元化的,在遇到问题时首先要有一个全方位的思 ...

  7. mysql缓存 碎片_Mysql查询缓存碎片、缓存命中率及Nagios监控

    Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STA ...

  8. mysql查询过程从客户端发送查询请求_MySQL查询过程和高级查询

    最近有个需求,要修改现有存储结构,涉及查询条件和查询效率的考量,看了几篇索引和HBase相关的文章,回忆了相关知识,结合项目需求,说说自己的理解和总结. 总体目录如下,上篇介绍了前3小节,分析了索引为 ...

  9. php mysql 查询缓存_mysql 查询缓存使用详解

    MySQL server 有一个重要的特征:查询缓存(Query Cache). 当在使用中,查询缓存会存储一个 SELECT 查询的文本与被传送到客 户端的相应结果.如果之后接收到一个同样的查询,服 ...

最新文章

  1. ArcGIS API for Silverlight 点沿着线流动
  2. 使用.net调用java的Web Services
  3. 网络最大流(SAP)模板
  4. kafka技术内幕(一)
  5. UITableViewCell在非Nib及Cell重用下设置CellStyle
  6. Java学习笔记3——集合框架
  7. linux如何启动wifi,【教程】Wii安装运行可用WIFI的Linux系统全攻略
  8. C#中结构体排序方法(Array.sort() + ICompare)
  9. 树莓派的wifi网络
  10. linux更新模块,GNOME 3.29.3 发布,大量模块更新及功能改进
  11. dubbogo PMC何鑫铭:没有热爱就做不成这件事情
  12. js去空格、去重函数
  13. 高一下学期计算机,高一信息技术下学期教学计划
  14. 番外.李宏毅学习笔记.12.GNN
  15. 云计算与大数据——云计算的特点
  16. iOS 设置导航栏全透明
  17. ACL-IJCNLP 2021-Sentiment Analysis相关论文整理
  18. Detection物体检测及分类方法总结(RFCN/SSD/RCNN/FastRCNN/FasterRCNN/SPPNet/DPM/OverFeat/YOLO)
  19. 手把带你学会红外避障循迹模块
  20. 裸金属服务器能降级虚拟机不,弹性裸金属服务器的八大特征

热门文章

  1. 从锤子手机谈产品的逼格
  2. ^_^ 一看就忘不了的IE页面 ^_^
  3. java 图形库_OpenGL开放图形java库jogamp-all-platforms.7z
  4. sonarqube通过sonarqube maven插件分析maven工程使用的mvn命令示例
  5. ansible roles和django项目的整合
  6. operator-sdk安装脚本整理
  7. Ansible自动化运维企业实际应用场景分析
  8. 【收藏】win10将wsl升级到wsl2
  9. Scala集合的常用方法:sum/max/min/product
  10. spring boot部署war包打包插件配置