我正在尝试在这样的函数中使用 select 语句:
CREATE FUNCTION get_Id (d DATE) RETURNS INTEGER
BEGIN
DECLARE @retval INTEGER
SELECT id
from date_store c
WHERE c.start_date <= d && c.end_date >= d
RETURN @retval
END
我不确定我是否正确编写了这个函数,因为我无法运行它。基本上我需要的是调用这个函数,以便根据表 date_store 中给出的日期范围获取 id。
我是 SQL 新手。
最佳答案
SQL 中不存在条件 &&
。请改用 AND
。
您还需要使用SELECT id INTO @retval
分配返回的变量。
也将 INTEGER 替换为 INT,并且不要忘记分号。
它将是这样的(未测试)
CREATE FUNCTION get_Id (d DATE) RETURNS INT
BEGIN
DECLARE @retval INT;
SELECT id INTO @retval
FROM date_store c
WHERE c.start_date <= d AND c.end_date >= d;
RETURN @retval;
END
关于mysql - 在 SQL 函数内运行 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261602/