2006-11-14bailing
---------------------

在 BLOB 和 TEXT 类型之间的唯一差别就是,对 BLOB 值是以字母大小写敏感的方式进行排序和比较的,
而对 TEXT 值以忽略字母大小写方式进行排序和比较。换句话说,TEXT 是一个忽略字母大小写的 BLOB。 

---
用upper或lower函数
---
CHAR 和 VARCHAR 列值以省略字母大小写的方式进行排序和比较,除非在表建立时 BINARY 属性被指定。BINARY 属性意味着,
该列值根据 MySQL 服务器正在运行的机器的 ASCII 表顺序进行字母大小写敏感的方式排序和比较。BINARY 并不影响该列如何被存储和检索。


所以查询ascii字符匹配的时候只好
"upper(字段) like'%".strtoupper(var)."%'"

注意不能对中文这么用,中文会被分解成

-----
列名与列的别名在所有的情况下均是忽略大小写的。表的别名是区分大小写的。

如果记忆数据库和表名的字母大小写有困难,建议采用一个一致一约定,例如总是以小写字母创建数据库和表。 

避免这个问题的另一个办法就是以 -O lower_case_table_names=1 参数启动 mysqld。缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0。

相关文章:

  • 2021-06-22
  • 2021-07-12
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2021-11-09
  • 2021-09-17
  • 2021-09-05
  • 2021-08-31
  • 2021-07-31
  • 2022-01-08
相关资源
相似解决方案