×

MySQL 在查询时会区分大小写吗?

Falcon 2024-11-07 views:
自动摘要

正在生成中……

在 MySQL 中,大小写敏感性取决于列的 字符集和排序规则(collation)

  1. 默认排序规则:大多数 MySQL 数据库默认使用不区分大小写的排序规则(如 utf8mb4_general_ciutf8_general_ci),其中 ci 代表 "case insensitive"(不区分大小写)。在这种情况下,查询 'WEEKLY''Weekly' 会得到相同的结果。

  2. 区分大小写的排序规则:如果列使用了区分大小写的排序规则(如 utf8mb4_binutf8_bin),则查询将严格区分大小写,此时 'WEEKLY''Weekly' 会被视为不同的值。

如何确保大小写敏感查询

如果需要确保查询大小写敏感,可以在查询中使用 BINARY 关键字,强制进行区分大小写的比较:

SELECT * 
FROM wp_posts 
WHERE BINARY post_title LIKE '%WEEKLY%';

总结

  • 如果列默认排序规则不区分大小写,'WEEKLY''Weekly' 不会影响查询结果。
  • 使用 BINARY 可以确保大小写敏感的查询,即只匹配完全大写的 'WEEKLY'
本文收录于