Skip to content

BINARY

函数说明

BINARY() 函数是一个用于将值转换为二进制字符串的函数。它通常用于比较文本或字符数据时,将字符串视为二进制数据而不是普通的字符数据。这样可以实现对字符数据的二进制比较,而不受字符集或编码的影响。

BINARY() 函数实现对字符数据的二进制比较,用于处理大小写敏感的字符串比较等场景。

语法结构

> BINARY value

相关参数

参数 说明
value 必要参数。待转化的值。

示例

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(100) NOT NULL);

INSERT INTO users (username, password) VALUES ('JohnDoe', 'Abcd123'), ('AliceSmith', 'Efgh456'), ('BobJohnson', 'ijkl789');

-- 使用 BINARY() 操作符进行密码验证,BINARY password = 'Abcd123'部分将密码值视为二进制字符串,这样进行的比较是大小写敏感的。如果输入的密码与数据库中的记录匹配,查询将返回相应的用户 id 和 username,否则将返回空结果。
mysql> SELECT id, username FROM users WHERE username = 'JohnDoe' AND BINARY password = 'Abcd123';
+------+----------+
| id   | username |
+------+----------+
|    1 | JohnDoe  |
+------+----------+
1 row in set (0.00 sec)

mysql> SELECT id, username FROM users WHERE username = 'JohnDoe' AND BINARY password = 'abcd123';
Empty set (0.00 sec)