如果我向MySQL的ASCII()函数提供NULL,它会返回什么?
在这种情况下,ASCII()函数的输出取决于我们是否将NULL作为字符串提供,还是仅仅提供NULL。以下示例将说明差异:
mysql> SELECT ASCII(null);
+-------------+
| ASCII(null) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT ASCII('null');
+---------------+
| ASCII('null') |
+---------------+
| 110 |
+---------------+
1 row in set (0.00 sec)
mysql> Select ASCII(NULL);
+-------------+
| ASCII(NULL) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
mysql> Select ASCII('NULL');
+---------------+
| ASCII('NULL') |
+---------------+
| 78 |
+---------------+
1 row in set (0.00 sec)
正如我们从上述结果集中观察到的,当我们提供NULL或null作为字符串时,ASCII()函数将返回第一个字符的代码,即在“NULL”的情况下是N的代码,而在“null”情况下是n的代码,否则,当我们仅提供NULL时,它则返回NULL作为输出。
阅读更多:MySQL 教程
极客教程