Mysql SQL中二进制的位置

Mysql SQL中二进制的位置,mysql,Mysql,我有一个SQL语句: 从二进制登录名为'xxx'和密码为'yyyy'的客户中选择* 表中没有blob/binary字段,我是否需要WHERE后面的binary?它还能做什么?是一个内置关键字,它位于WHERE子句之后,用于强制进行精确区分大小写匹配的比较 作为补充说明,您还可以在创建表时通过添加BINARY关键字使列区分大小写。 二进制运算符将其后面的字符串转换为二进制字符串。这是一种简单的方法,可以强制逐字节进行比较,而不是逐字符进行比较。二进制也会导致尾随空格变得重要 这可能更清楚。这意味着

我有一个SQL语句:

从二进制登录名为'xxx'和密码为'yyyy'的客户中选择*

表中没有blob/binary字段,我是否需要WHERE后面的binary?它还能做什么?

是一个内置关键字,它位于
WHERE
子句之后,用于强制进行精确区分大小写匹配的比较

作为补充说明,您还可以在创建表时通过添加
BINARY
关键字使列区分大小写。


二进制运算符将其后面的字符串转换为二进制字符串。这是一种简单的方法,可以强制逐字节进行比较,而不是逐字符进行比较。二进制也会导致尾随空格变得重要

这可能更清楚。这意味着WHERE后面的二进制关键字是一个使搜索区分大小写的标志,这有点误导。正如DVK指出的,二进制关键字将其后面的字符串转换为二进制字符串。区分大小写是该演员阵容的副作用,它只影响一个词。如果您希望每个AND或or子句也区分大小写,则必须在其中重复二进制。二进制也可以在SELECT语句中使用。
SELECT 'user' = 'UsEr' // true
SELECT BINARY 'user' = 'UsEr' // false