我试图在这样的函数中使用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新手。
答案 0 :(得分:1)
SQL中不存在条件&&
。请改用AND
。
您还需要使用SELECT id INTO @retval
分配返回的变量。
也可以用INT
替换INTEGER,不要忘记分号。
它将是这样的(未经测试)
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