我正在使用 CAST() 函数来转换已在 session 期间设置的变量。下面的代码对此进行了解释。
SET @X="'b'1000001''"
SET @Y=CAST(b'1000001 AS UNSIGNED);
(这完美地工作给我值(value) 65)
SELECT @X;
(THIS GIVES ME THE VALUE OF X AS b'1000001')
SET @Y=CAST(@X AS UNSIGNED);
(THIS DOESNOT WORK!!)
(GIVES ME VALUE AS 0 FOR Y)
任何人都可以向我解释为什么变量不能在 cast() 函数中转换变量 @X。如果我想在 mysql 中转换变量,有什么解决方法吗?
最佳答案
mysql> SELECT CAST("'b'1000001''" AS UNSIGNED), CAST(b'1000001' AS UNSIGNED);
+----------------------------------+------------------------------+
| CAST("'b'1000001''" AS UNSIGNED) | CAST(b'1000001' AS UNSIGNED) |
+----------------------------------+------------------------------+
| 0 | 65 |
+----------------------------------+------------------------------+
您可以将数字 值转换为 UNSIGNED;转换字符串会给你零,除非有前导数字。
关于mysql - 无法转换变量 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28655161/