获取MySQL中的变量类型

Ada*_*m B 13 mysql sql

如果我定义一个变量set @a = "1";.我怎么能看到@a是一个字符串?

5la*_*ava 18

您可以确定MySQL中变量的类型.通过选择变量创建表,然后检查列类型:

set @a:="1"; -- your variable

drop temporary table if exists foo;
create temporary table foo select @a; -- dirty magic
desc foo;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| @a    | longtext | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)

  • 这是互联网上最好的答案 (3认同)

And*_*ore 5

MySQL 中无法确定变量的类型。

作为替代方案,您可以轻松地将CAST()变量设置为您想要的类型:

@a = CAST(123 AS CHAR);
Run Code Online (Sandbox Code Playgroud)

有关强制转换的更多信息和示例,请参阅 MySQL 手册:

11.9。强制转换函数和运算符