目录
环境
症状
问题原因
解决方案

环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5
症状
MySQL if函数在瀚高DB当中没有,源应用在用到if函数时,就会报if函数不存在的错误信息。为此,我们需要根据业务需求自定义if函数。

问题原因
瀚高中没有if函数此函数。

解决方案
If函数说明
在mysql中if()函数的用法类似于java中的三目表达式,其用处也比较多,具体语法如下:

IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。

MySQL中,if函数使用非常广泛,支持的类型也很多。我们可以自定义if函数并实现其功能,但并不是能够百分百富县MySQL的if函数功能。所以只能根据应用所用场景或者功能定制写if函数。下面写几个例子。

自定义IF函数例子
第二、三个参数是一样的数据类型。

create or replace function if(bln boolean,inValue1 anyelement,inValue2 anyelement)returns anyelement as$$beginif bln=true thenreturn inValue1;elsereturn inValue2;end if;end;$$language plpgsql;

第二、三个参数都是varchar类型:

create or replace function if(bln boolean,inValue1 VARCHAR,inValue2 VARCHAR)
returns varchar as
$$
begin
if bln=true thenreturn inValue1;
elsereturn inValue2;
end if;
end;
$$
language plpgsql;

第二、三个参数都是numeric类型:

create or replace function if(bln boolean,inValue1 numeric,inValue2 numeric)
returns numeric as
$$
begin
if bln=true thenreturn inValue1;
elsereturn inValue2;
end if;
end;
$$
language plpgsql;

如果有其他情况,按照使用场景的数据类型进行更换便是,需要注意的是返回值的数据类型要保持一致。

瀚高DB兼容MySQL if函数相关推荐

  1. 瀚高数据库和mysql区别,MySQL数据库迁移瀚高数据库

    1.瀚高数据库安装 下载Highgo Database安全版rpm包并上传至服务器,使用如下命令进行安装 rpm -ivh hgdb5.6.4-enterprise-rhel7.x-x86-64-20 ...

  2. postgresql兼容MySQL datediff函数

    datediff函数兼容解决方案 datediff函数说明 datediff函数返回俩日期相差的天数,如 select datediff('2021-12-21 10:21:23',now()) 在p ...

  3. postgresql兼容MySQL 时间函数date_format

    MySQL DATE_FORMAT() 函数 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是 ...

  4. Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:6.0 文档用途 用于解决怎么在瀚高数据库中实现和Oracle数据库中st ...

  5. 兼容MySQL中的find_in_set函数

    瀚高数据库 目录 文档用途 详细信息 文档用途 在HighGoDB中,通过自定义函数,兼容MySQL中的find_in_set(str,strlist)函数. 详细信息 MySQL中的find_in_ ...

  6. mysql partition 语法,MySQL与瀚高数据库的范围分区的语法及实例(APP)

    目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:5.6.4 文档用途 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就 ...

  7. mysql数据库迁移到瀚高数据库,包含数据迁移、sql语法、服务启动、部署、tomcat问题整理

    文章目录 1.数据库迁移 2.数据库设置主键自增 2.1 数据库字段问题 2.2 存在即更新 2.3 清空数据表 2.4 瀚高数据库查询过程中显示转换 2.5 mybatis插入一条数据返回自增的主键 ...

  8. 信创环境下三个开源数据库:SQLite、MariaDB(MySQL)和postgreSQL(瀚高数据库免费版)基本操作

    在信创环境下,常用的免费数据库主要是:SQLite.MariaDB(MySQL)和postgreSQL(瀚高数据库免费版),可以在一些产品中内嵌使用. SQLite作为单文件数据库,不需要后台服务,预 ...

  9. MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用

    瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台:银河麒麟R系(CPU龙芯)4,银河麒麟U系(CPU飞腾)4 版本:4.5.2,6.0 症状 MySQL替换为国产瀚高数据库时, AES ...

  10. MySQL数据库迁移瀚高数据库

    1.瀚高数据库安装 下载Highgo Database安全版rpm包并上传至服务器,使用如下命令进行安装 rpm -ivh hgdb5.6.4-enterprise-rhel7.x-x86-64-20 ...

最新文章

  1. Windows上编译libpng
  2. python 图例颜色_python – 来自颜色字典的matplotlib.pyplot scatterplot图例
  3. python函数打印乘法表_Python中内置函数来打印数学乘法表
  4. Create a Search Scope for a Sharepoint 2010 List or Library
  5. 在idea中如何安装阿里代码规范检测插件以及使用
  6. android 7.1 字体大小设置,微信安卓版7.0.4字体大小被吐槽,微信官方回应又被吐槽...
  7. Aspose.word基础
  8. google新搜索网站
  9. [汇编语言]实现电话簿的创建
  10. PTA 循环结构 7-3 简写转全称
  11. 系统工程--011详细设计 伪码 程序流程图 PAD图 N-S图 判断表和判断树
  12. 阿里云SMS短信服务的使用
  13. Hexo+icarus主题配置
  14. 可擦玻璃平顶的机器人_擦玻璃机器人的优点和缺点各是什么?智能擦窗机真的好用吗?有人工擦的干净吗...
  15. 计算机网络安全技术(第6版 课后练习题简答题练习
  16. 为什么荷兰买家更喜欢用iDEAL付款?
  17. 使用AIGC工具提升论文阅读效率
  18. python php c#爬虫_php 爬虫采集
  19. 龙营华夏户外拓展项目----攀岩登山
  20. AWS中EBS相关概念

热门文章

  1. BUG:Android开发模拟器运行出现Detected ADB对话框
  2. 2020高中计算机会考成绩查询,2020年高中会考成绩查询入口
  3. oracle授予directory读权限,Oracle对目录文件(directory)的读写操作
  4. Frodo and pillows
  5. 红蓝对抗--蓝军套路之利用系统工具进行文件传输
  6. 支付宝技术期末考:专业技术蓝军首次对外公开
  7. hadoop Safe mode is ON 的解决办法
  8. 自然语言处理之词移距离Word Mover's Distance
  9. 一个女性产品类的Magento模板
  10. java vo的使用_使用VO传递参数的设计 | 学步园