mysql - 我在 mysql 创建函数语句中遇到错误
问题描述
DROP FUNCTION IF EXISTS PortName;
CREATE FUNCTION PortName(port INT) RETURNS VARCHAR(3) CHARSET latin1
BEGIN
DECLARE x VARCHAR(3);
CASE port;
WHEN 996 THEN SET x = 'RP';
WHEN 995 THEN SET x = 'IA';
WHEN 990 THEN SET x = 'K1';
WHEN 989 THEN SET x = 'K2';
WHEN 988 THEN SET x = 'K3';
WHEN 986 THEN SET x = 'NG';
WHEN 985 THEN SET x = 'NW';
WHEN 984 THEN SET x = 'N2';
WHEN 983 THEN SET x = 'N3';
ELSE SET x = 'NA';
RETURN x;
END;
解决方案
和语句;
之间不应该有。最后你需要。CASE port
WHEN
END CASE;
DROP FUNCTION IF EXISTS PortName;
CREATE FUNCTION PortName(port INT) RETURNS VARCHAR(3) CHARSET latin1
BEGIN
DECLARE x VARCHAR(3);
CASE port
WHEN 996 THEN SET x = 'RP';
WHEN 995 THEN SET x = 'IA';
WHEN 990 THEN SET x = 'K1';
WHEN 989 THEN SET x = 'K2';
WHEN 988 THEN SET x = 'K3';
WHEN 986 THEN SET x = 'NG';
WHEN 985 THEN SET x = 'NW';
WHEN 984 THEN SET x = 'N2';
WHEN 983 THEN SET x = 'N3';
ELSE SET x = 'NA';
END CASE;
RETURN x;
END;
有关. _ _CASE
推荐阅读
- type-inference - TypeScript:通过泛型函数时恢复“对象文字只能指定已知属性”检查
- javascript - 计算多个json输入js
- ivy - 在 Angular 10 错误 NG6003 上激活 Ivy 编译器时出错 - 无法解析为 NgModule
- windows - 我安装了 Neo4j 服务。它们究竟是哪些文件,它们在哪里?
- sql - 从单个日期列分别创建开始和结束日期列
- hotwire-rails - 如何重新加载单个涡轮帧并更新 url?
- python - 如何在多个文件上运行脚本
- python - 将许多列添加到数据框中的最快方法是什么?
- xamarin.forms - 如何在 Azure Devops 中为生成 nuget 包的 Xamarin Forms Android 库项目创建 YAML 管道
- r - ggplot 持续时间对象