语法
CHAR(N,... [USING charset_name])
说明
CHAR() 将每个参数 N 解析为一个整数,并返回由这些整数对应的 ASCII 值组成的字符串。 NULL 值将被跳过。
mysql> SELECT CHAR(77,121,83,81,'76');//'MySQL','76'被解析为整数76
mysql> SELECT CHAR(77,77.3,'77.3');//'MMM',77.3与'77.3'均被解析为整数77
大于 255 的参数将转换为多个字节。 例如 CHAR(256) 等价于 CHAR(1,0) ,CHAR(256*256) 等价于 CHAR(1,0,0):
mysql> SELECT HEX(CHAR(1,0)), HEX(CHAR(256));
+----------------+----------------+
| HEX(CHAR(1,0)) | HEX(CHAR(256)) |
+----------------+----------------+
| 0100 | 0100 |
+----------------+----------------+
mysql> SELECT HEX(CHAR(1,0,0)), HEX(CHAR(256*256));
+------------------+--------------------+
| HEX(CHAR(1,0,0)) | HEX(CHAR(256*256)) |
+------------------+--------------------+
| 010000 | 010000 |
+------------------+--------------------+
默认情况下,CHAR() 返回一个二进制字符串。 要生成给定字符集的字符串,请使用可选的 USING 子句:
mysql> SELECT CHARSET(CHAR(X'65')), CHARSET(CHAR(X'65' USING utf8));
+----------------------+---------------------------------+
| CHARSET(CHAR(X'65')) | CHARSET(CHAR(X'65' USING utf8)) |
+----------------------+---------------------------------+
| binary | utf8 |
+----------------------+---------------------------------+
如果使用 USING 字句指定了字符集并且结果字符串对于给定字符集是非法的,则会产生一个 warning。 如果启用了严格 SQL 模式,则 CHAR() 的结果将变为 NULL。
如果从 mysql 客户端中调用 CHAR() 函数,则使用十六进制表示法显示二进制字符串,具体取决于 –binary-as-hex 的值。 有关该选项的更多信息,请参阅:“mysql — MySQL 命令行客户端”。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL CHAR() 函数
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL CHAR() 函数