mysql 编写函数及存储过程

新建函数

语法:

1
2
3
4
5
6
7
8
9
DELIMITER $$
CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    FUNCTION `datacenterv2`.`functionName`() -- 括号中填写参数,格式是:参数名 类型 ,如 dRe int
    RETURNS TYPE  --  返回值类型
    BEGIN
    -- 语句
    END$$
DELIMITER ;

 if 函数

复制代码
IF(sIsByArea = '0') THEN
       SELECT 
            IFNULL(DATE_FORMAT(`AddTime`,'%Y-%m-%d'),'')
       FROM 
       tb_avgprice
       WHERE ProvinceID = sIsByArea
       ORDER BY `AddTime` DESC LIMIT 1 INTO dRe;
    ELSE
    SELECT  
        IFNULL(DATE_FORMAT(`AddTime`,'%Y-%m-%d'),'')
    FROM tb_avgprice  
    WHERE ProvinceID != '0'
    ORDER BY `AddTime` DESC  LIMIT 1 INTO dRe;
    IF (dRe='' ) THEN
      SELECT DATE_FORMAT(FN_GetFisrtDateOfValidatedPrice(),'%Y-%m-%d') INTO dRe;
    END IF;
    END IF;
复制代码

上述代码中包含了

if 函数的用法

if  表达式  then  语句 end if

if  表达式  then  语句  else 语句 end if

if  表达式  then  语句 elseif  语句  else 语句 end if

注意:endif结束后,记得加;

 

ifnull 的用法

判断是否为null  ,如果是 ,则返回第二个参数

IFNULL(expr1,expr2)

 

select expr1 into dRe

dRe是变量

select expr1  limit 1

查询第一条

转换日期格式

date_format函数

date_format(日期,'%Y-%m-%d')

调用自定义函数

select 函数名

在自定义函数的语句中调用自定义函数

 

 

 

 

posted @   冬月二四  阅读(5283)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示