Получить тип переменной в MySQL - PullRequest
13 голосов
/ 03 августа 2009

Если я определю переменную типа set @a = "1";. Как я могу увидеть, что @a - это строка?

Ответы [ 3 ]

16 голосов
/ 15 октября 2014

Вы МОЖЕТЕ определить тип переменной в 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    |       |
+-------+----------+------+-----+---------+-------+
4 голосов
/ 03 августа 2009

Вы не можете определить тип переменной в MySQL.

В качестве альтернативы, вы можете легко CAST() свою переменную в желаемом вами типе:

@a = CAST(123 AS CHAR);

Дополнительные сведения и примеры о приведении в руководстве MySQL:

11,9. Функции и операторы приведения

1 голос
/ 06 марта 2018

В MySql вы не можете идентифицировать тип данных переменной. Но есть способ идентифицировать только строки и целые числа, используя cast :

set @a = "11";
SELECT CAST(@a AS SIGNED); // Output : 11

set @a = "text";
SELECT CAST(@a AS SIGNED); // Output : 0


set @a = "121212";
SELECT CAST(@a AS SIGNED); // Output : 121212

set @a = "Mysql is open source";
SELECT CAST(@a AS SIGNED); // Output : 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...