`
smiky
  • 浏览: 257822 次
  • 性别: Icon_minigender_1
  • 来自: 天门
社区版块
存档分类
最新评论

mysql查询时条件不区分大小写

阅读更多

 

表中有条数据,SUBCLASSNAME的值为Dns

mysql中:

select t.* from test_subclass t where SUBCLASSNAME='DNS'

或select t.* from test_subclass t where SUBCLASSNAME='dns'

都可以查到数据,

在oracle中只有用select t.* from test_subclass t where SUBCLASSNAME='DNS'才能查到数据,

是否说mysql不区分大小写?

 

转篇文章:

http://blog.csdn.net/wp500/archive/2009/07/10/4336901.aspx

 

通过查询资料发现需要设置collate(校对) 。 collate规则:

 *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
 *_cs: case sensitive collation,区分大小写
 *_ci: case insensitive collation,不区分大小写

解决方法。

1.可以将查询条件用binary()括起来。  比如:     select  * from TableA  where  columnA like binary('aaa');

2. 可以修改该字段的collation 为 binary

比如:

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

解决该问题

分享到:
评论

相关推荐

    使MySQL查询区分大小写.doc

    在MySQL中,查询默认情况下通常是不区分大小写的,但如果你想让你的查询对大小写敏感,有几种方法可以实现。以下是一些关键知识点和步骤来帮助你在MySQL中进行区分大小写的查询。 1. **设置列的Collation** - **...

    MySql查询不区分大小写解决方案(两种)

    在MySQL数据库中,查询操作默认情况下是不区分大小写的,这意味着如果你在查询条件中使用了不同的大小写字母,比如"aaa"和"Aaa",它们会被视为相同,从而可能导致你期望的精确匹配失败。这对于一些特定场景,比如...

    有关MySQL8.0大小写敏感的问题

    然而,在8.0版本中,MySQL对此进行了重大改动:该参数现在只能在服务器初始化时进行配置,并且默认值在不同的操作系统上有区别——Windows下默认为1(大小写不敏感),而在Linux下则保持不变,仍为0(大小写敏感)。...

    MySql下实现查询表名不区分大小写

    这行配置告诉MySQL服务器,无论在创建数据库或表时使用什么大小写,都将所有表名转换为小写进行存储和比较,从而在查询操作中实现了大小写不敏感。 ### 重启MySQL服务 修改完配置文件后,需要重启MySQL服务以使...

    数据库区分大小写的设置

    MySQL在处理字符串时,默认是区分大小写的。但在实际应用中,我们可以通过多种方式调整这一行为: 1. **创建表时指定大小写敏感性**: - 可以在创建表时为某个字段指定 `BINARY` 属性来使其区分大小写。 ```sql ...

    mysql基础-不设置区分大小写

    总的来说,通过调整`lower_case_table_names`配置,我们可以根据项目需求让MySQL在处理数据库和表名时变得不区分大小写,但这并不意味着在编写SQL语句时可以忽略大小写规则。了解并正确使用这些配置可以帮助我们更...

    详解MySQL查询时区分字符串中字母大小写的方法

    在MySQL中,若想在查询时区分大小写,有以下两种方法: 1. 使用`BINARY`关键字: 可以在查询语句中直接使用`BINARY`关键字来强制区分大小写,如: ```sql SELECT * FROM usertable WHERE BINARY id='AAMkADExM2...

    mysql大小写敏感

    MySQL 在 Linux 下默认情况下是严格区分表名和数据库名的大小写,而在 Windows 下则不区分大小写。 在 Linux 下,MySQL 的默认设置是区分表名的大小写,不区分列名的大小写。可以通过添加 lower_case_table_names=...

    MySQL表名不区分大小写的设置方法

    此外,尽管设置为1可以使MySQL在逻辑上不区分大小写,但为了保持一致性,建议在定义表名和编写SQL语句时始终使用小写,避免因大小写问题引起不必要的困扰。 在开发过程中,特别是涉及跨平台的应用,了解并适当地...

    LINUX系统下mysql的大小写区分问题.docx

    尽管列名在大多数情况下不区分大小写,但如果你想在查询时区分字段值的大小写,可以对字段设置BINARY属性。BINARY属性确保比较时考虑字符的ASCII值,而不是忽略大小写。有三种方式可以设置BINARY属性: A. 创建表时...

    MySQL修改配置 区分大小写

    MySQL是一种广泛使用的开源关系型数据库管理系统,其默认配置在处理表名、列名以及数据库名时通常是不区分大小写的。然而,根据业务需求,有时我们需要让MySQL对这些名称进行大小写敏感的处理,例如在开发多语言应用...

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

    同时,在查询字符串时,MySQL 是大小写不敏感的,这也会导致大小写问题的产生。 在实际应用中,这个问题可能会引起一些问题,例如在插入数据时可能会发生 Duplicate entry Error,或者在查询时返回的结果不正确。...

    mysql如何设置不区分大小写

    mysql设置不区分大小写 windows下 到安装mysql的目录,修改my.ini文件 在文件最后一行加上下面一句话 lower_case_table_names=1 说明 0:区分大小写,1:不区分大小写 效果如下 [mysqld] port = 3306 basedir=F...

    解决MySQl查询不区分大小写的方法讲解

    在MySQL数据库中,查询操作默认情况下是不区分大小写的,这意味着如果你在查询时输入的字符串与数据库中的数据在大小写上不完全匹配,查询仍然可能返回结果。这在某些场景下可能会导致意料之外的问题,比如在用户...

    mysql查出数据不区分大小写.md

    mysql查出数据不区分大小写.md

    PostgreSQL数据库对象名大小写敏感的解决方法

    `UPPER()`可以将字符串转换为大写,而`ILIKE`则用于不区分大小写的字符串比较。 ##### 示例查询语句 ```sql -- 使用UPPER()函数 SELECT * FROM "TUser" WHERE UPPER("Name") LIKE '%TONY%'; -- 使用ILIKE操作符 ...

    mysql 查询时没有对字符串区分大小写处理方法

    在MySQL数据库中,查询字符串时是否区分大小写是由字符集(character set)和校对规则(collation)共同决定的。当创建表或字段时,如果没有明确指定校对规则,MySQL通常会选择一个默认的,这可能导致在进行字符串...

Global site tag (gtag.js) - Google Analytics