zoukankan      html  css  js  c++  java
  • MySQL模糊查询(like)时区分大小写

    问题说明:通过上面的语句,你会发现MySQL的like查询是不区分大小写的,因为我的失误,把Joe写成了joe才发现了这个东东吧。但是,有时候,我们需要区分大小写的是,该怎么办呢?解决方法如下:

    方法一(查询时,指定区分大小写)

    很简单,在like的后面加个binary就可以了,适用于表的结构不易改变的情况下。大多数人发现这个问题的时候,往往表的结构是不能改变的,所以,这种方法还是很好的。

    接下来还有其他的方法,是在建表的时候,设置好区分大小的。

    也可以在建表时,加以标识 

    create  table  table_name(  

         a varchar (20) binary

    深入了解:

    首先,你要了解的是:在MySQL中,对于Column Collate其约定的命名方法如下:

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

    *_cs: case sensitive collation,区分大小写

    *_ci: case insensitive collation,不区分大小写

    建表的过程中设置字符区分大小写,然后插入3条记录测试。

    很多时候,我们的首次建表都是不全面的,我在想,能不能以后添加,修改表的特征,这个是可以的。

    就刚才那个student_web表吧。

    但是,失败了。我不知道为什么,希望您可以给我帮助。

    上面使用_bin来区分大小写的,还可以使用

    create table table_name (word VARCHAR(10)) CHARACTER SET latin1 COLLATE latin1_general_cs;

    或者,在查询时指定collation

    建表时:mysql> create table table_name (word VARCHAR(10)) CHARACTER SET latin1; 

    查询时:mysql> SELECT * FROM table_name WHERE word COLLATE latin1_bin LIKE 'F%';  放在like前面

    或:mysql> SELECT * FROM table_name WHERE word LIKE 'F%' COLLATE latin1_bin; 放在最后

    或:mysql> SELECT * FROM case_test WHERE word LIKE 'F%' COLLATE latin1_general_cs

    参考文献:http://www.cnblogs.com/pinnasky/archive/2012/09/11/2680264.html

  • 相关阅读:
    httpmime-session 会话保持
    5.5 准备创建bean
    5.4 获取单例
    当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法
    asp.net刷新本页面的六种方法总结
    return 、break和continue的区别和作用
    OnClientClick事件
    抽象接口
    C# 中的EventHandler实例详解-转
    GridView点击行触发SelectedIndexChanged事件
  • 原文地址:https://www.cnblogs.com/zi-xing/p/4298697.html
Copyright © 2011-2022 走看看