从表中创建返回值的简单函数

时间:2018-02-02 12:48:05

标签: mysql function mysql-workbench

我试图制作一个非常简单的函数来返回表格单元格中的文本长度(在Workbench中),但在尝试运行它时仍然会收到错误1064,尽管我认为下面的命令一切都很好。问题在哪里?

DROP FUNCTION IF EXISTS how_long;
CREATE FUNCTION how_long(thing varchar(20)) RETURNS INT
BEGIN
  DECLARE sth INT;
    SELECT length(word) INTO sth FROM things WHERE name=thing;
  RETURN sth;
END;

2 个答案:

答案 0 :(得分:0)

好的,我已经知道了。这真的很愚蠢,但我试图通过新的sql表来做,而不是通过> function和> right_click>创建

答案 1 :(得分:0)

试试这个

delimiter |
drop function if exists how_long|
create function how_long(thing varchar(20)) returns int
no sql
deterministic
begin
   return length(thing);
end|
select how_long('hello')|

但为什么不使用原生函数length()