MySQL không có hàm trực tiếp để "lấy kiểu dữ liệu của biến", nhưng bạn có thể ép kiểu (cast) biến sang kiểu khác bằng toán tử CAST.
Cú pháp gán biến
SET @tenBien := 'giaTri';
Cú pháp CAST
SELECT CAST(@tenBien AS KIEU_MOI);
Ví dụ minh họa
Trường hợp 1: Chuỗi sang số (UNSIGNED)
mysql> SET @ChuoiSangSo := '12345'; mysql> SELECT CAST(@ChuoiSangSo AS UNSIGNED);
Kết quả:
+--------------------------------+ | CAST(@ChuoiSangSo AS UNSIGNED) | +--------------------------------+ | 12345 | +--------------------------------+
Trường hợp 2: Số sang ký tự (CHAR)
mysql> SET @SoSangChu := CAST(65 AS CHAR); mysql> SELECT @SoSangChu;
Kết quả:
+------------+ | @SoSangChu | +------------+ | 65 | +------------+
Các kiểu dữ liệu phổ biến cho CAST: SIGNED, UNSIGNED, CHAR, DATE, DATETIME, DECIMAL, TIME.
Mẹo: Dùng CONVERT() cũng cho kết quả tương tự: CONVERT(@bien, KIEU_MOI).