任何人都知道如何在MySQL存储过程中将big int转换为int。
设置@ x = BigToInt(2147483649); ERROR 1264(22003):超出列
的范围值我试过这个并且它也不起作用:
DELIMITER // DROP FUNCTION如果存在BigToInt;
创建功能BigToInt(n BIGINT)返回INTEGER 开始 DECLARE结果INTEGER默认为0; set result = CAST(n为SIGNED); 返回结果; 结束// DELIMITER;
它给出了与#1相同的错误。
答案 0 :(得分:0)
其他选择:
DELIMITER //
CREATE FUNCTION BigToInt (n BIGINT) RETURNS VARCHAR(50)
begin
DECLARE result VARCHAR(50) default 0;
set result = CAST(n as signed);
return result;
end
// DELIMITER ;
这将接受一个long int但仅限于19值。
整数有一个maximum value