在Highgo DB 中创建MySQL兼容函数datediff

文章目录

环境

系统平台:N/A

版本:4.3.4.6

症状

在MySQL迁移到Highgo DB时,MySQL中使用DATEDIFF函数获取两个日期的间隔,Highgo DB没有该函数,使用DATEDIFF 函数时,报错如下:

SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate;

SQL 错误 [42883]: ERROR: 42883: function datediff(unknown, unknown) does not exist

Hint: No function matches the given name and argument types. You might need to add explicit type casts.

问题原因

Highgo DB中没有DATEDIFF函数,需要手动创建该函数。

解决方案

MySQL中的DATEDIFF() 函数返回两个日期之间的天数。

语法

DATEDIFF(date1,date2)

date1 和 date2 参数是合法的日期或日期/时间表达式。

注释:只有值的日期部分参与计算。

测试结果如下:

sql 复制代码
SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate;



DiffDate

1

Highgo DB 创建 DATEDIFF 函数:

sql 复制代码
CREATE OR REPLACE FUNCTION datediff(p_d1 date, p_d2 date)

RETURNS numeric

LANGUAGE plpgsql

AS $function$

DECLARE

l_result   number;

begin       

    l_result:=floor(p_d1-p_d2);       

    return   l_result;

end;

$function$

测试结果如下:

sql 复制代码
SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate;



DiffDate

1
相关推荐
rchmin2 分钟前
向量数据库Milvus安装及使用实战经验分享
数据库·milvus
ego.iblacat8 分钟前
Python 连接 MySQL 数据库
数据库·python·mysql
祖传F8719 分钟前
quickbi数据集数据查询时间字段显示正确,仪表板不显示
数据库·sql·阿里云
Leon-Ning Liu39 分钟前
Oracle 26ai新特性:时区、表空间、审计方面的新特性
数据库·oracle
humors2211 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
Yushan Bai1 小时前
ORACLE数据库在进行DROP TABLE时失败报错ORA-00604问题的分析处理
数据库·oracle
77美式2 小时前
Node + Express + MongoDB 后端部署全解析:新手零踩坑
数据库·mongodb·express
阿丰资源2 小时前
SpringBoot+MySQL+MyBatis-Plus+Vue前后端分离仓库管理系统 (附资料)
spring boot·mysql·mybatis
城数派2 小时前
2000-2025年我国省市县三级逐8天日间地表温度数据(Shp/Excel格式)
数据库·arcgis·信息可视化·数据分析·excel
AC赳赳老秦2 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw