为什么选择CAST(b'11'AS DEC);等于3?

时间:2013-07-11 13:23:13

标签: mysql sql

mysql> select CAST(b'11' AS DEC);
+--------------------+
| CAST(b'11' AS DEC) |
+--------------------+
|                  3 |
+--------------------+
1 row in set (0.00 sec)

BUT:

mysql> select CAST(a'11' AS DEC);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''11' AS DEC)' at line 1

为什么?太奇怪了。感谢。


似乎我的问题不够明确。我在这里道歉。 b'11'不等于a'11'。那里绝对有某种类型。 我的问题是,在类型转换之后,为什么b'11'在二进制表示法中等于3b'11'看起来不像二进制数字。

1 个答案:

答案 0 :(得分:10)

{p> b'11'binary notation中为11,因此在标准十进制值中为{3}。