【问题标题】:To return STRING type using MYSQL function使用 MYSQL 函数返回 STRING 类型
【发布时间】:2017-08-04 22:54:07
【问题描述】:

我想使用 mysql 函数返回一个字符串。 代码如下。我只得到布尔值 1 或 0 输出。

这里

规格值

是字符串类型

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

请找到解决办法

【问题讨论】:

  • 您正在返回 RETURN EXISTSEXISTS 返回布尔值 true or false / 1,0

标签: mysql sql function stored-procedures phpmyadmin


【解决方案1】:

更改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

如果记录不存在则返回空字符串

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 1970-01-01
    • 2017-12-03
    • 2019-09-28
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    相关资源
    最近更新 更多