我想使用mysql函数返回一个字符串。代码如下所示。我只得到布尔值1或0输出。
这里
specification_value
是字符串类型
CREATE DEFINER=`ranju`@`%` FUNCTION `get_fuel_name`(v_id INT) RETURNS varchar(100) CHARSET latin1
READS SQL DATA
BEGIN
RETURN EXISTS (SELECT `specification_value` FROM `vehicle_specifications` WHERE `specification_id` =1 AND `vehicle_id` =v_id LIMIT 1);
END请找个解决办法
发布于 2017-03-15 04:50:21
更改exists语句,exists将计算表达式并仅返回布尔值。
CREATE FUNCTION `get_fuel_name`(v_id INT)
RETURNS varchar(100) CHARSET latin1
READS SQL DATA
BEGIN
RETURN coalesce( (SELECT `specification_value`
FROM `vehicle_specifications`
WHERE `specification_id` =1
AND `vehicle_id` =v_id LIMIT 1
), '');
END如果记录不存在,它将返回空字符串。
https://stackoverflow.com/questions/42788792
复制相似问题