mysql - MYSQL中带参数的存储过程
问题描述
我有一个关于存储过程的问题:
创建一个名为的存储过程format_currency
,它接受一个字符和一个双精度数。它将返回VARCHAR(32)
前面带有符号的 a,后面是数字到小数点后 2 位。例如,format_currency('$', 123.4)
应该返回 $123.40
这是我的代码:
CREATE OR REPLACE PROCEDURE format_currency(IN c VARCHAR2, IN n DOUBLE(9,2))
AS
BEGIN
SELECT CONCAT(c,',' n);
END;
它不起作用,我不知道如何在 BEGIN 和 END 中编写代码。
非常感谢您的帮助。
亨利
解决方案
我有一个类似的问题,其他人回答的问题在 MySQL 中对我没有任何帮助。这是一个工作解决方案,其中有 2 个参数为“SIGN”和“MONEY”,并创建了一个名为“NEWRESULT”的变量,您可以将其设置为 0,然后将其设置为“SIGN”和“MONEY”的连接。
DELIMITER //
CREATE PROCEDURE format_currency`enter code here`
(IN SIGN char(1),IN MONEY double(9,2))
BEGIN
declare NEWRESULT char(8);
set NEWRESULT=0;
SET NEWRESULT=(SELECT CONCAT(SIGN,MONEY));
SELECT NEWRESULT;
END//
DELIMITER ;
推荐阅读
- css - 在移动设备上重新排列元素(响应式布局)
- c - 如何从循环中找到百分比并返回浮点数
- javascript - 处理小时数组
- angular - 如何使用 Angular Formly Schematics 生成真实表单
- javascript - Bulk Upsert Javascript 存储过程总是超过 5 秒的执行上限并导致超时
- android - 如何使用CameraX检查相机是否支持Android上的自动对焦?
- java - 如何通过 Html.fromHtml(text) 更改在 TextView 中加载的默认图像(占位符)
- azure - 从函数应用程序 c# 中的 Azure blob 存储读取大型 XML 文件
- java - 如何从 .properties 文件中捕获 SQL 语法错误?
- vaadin - 在 Vaadin14 中打开外部 BIRT 链接时出现问题