广告
返回顶部
首页 > 资讯 > 数据库 >postgresql如何兼容MySQL if函数
  • 415
分享到

postgresql如何兼容MySQL if函数

postgresql兼容MySQLMySQLif函数MySQLif 2023-03-20 17:03:31 415人浏览 独家记忆
摘要

目录postgresql兼容Mysql if函数if函数说明postgresql自定义if函数兼容mysql、oracle、postgresql兼容适配sql使用区别mybatis兼容不同数据库总结postgresql兼

postgresql兼容MySQL if函数

if函数说明

在mysql中if()函数的用法类似于Java中的三目表达式,其用处也比较多,具体语法如下:

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

postgresql自定义if函数兼容

create or replace function if(bln boolean,inValue1 anyelement,inValue2 anyelement)
returns anyelement as
$$
begin
if bln=true then
   return inValue1;
else
   return inValue2;
end if;
end;
$$
language plpgsql;

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

create or replace function if(bln boolean,inValue1 numeric,inValue2 text)
returns text as
$$
begin
if bln=true then
   return inValue1;
else
   return inValue2;
end if;
end;
$$
language plpgsql;

mysql、oracle、postgresql兼容适配

sql使用区别

1. dual表

oracle独有的表,目的是限制sql语句结构完整

select (select * from table_name where age = 20) t from dual

mysql和pgsql没有这张表,可以直接去掉

select (select * from table_name where age = 20) t

2. 布尔类型

oracle和mysql没有boolean类型,可使用number(int)或char代替

pgsql中有bool类型,数字和字符自动转换为boolean类型(0→f、1→t、no→f、yes→t)

3. update表别名

pgsql不适用,mysql 和 oracle支持

update table_name t set t.name = 'abc' where id = 1

4. 字符串传值

pgsql 、oracle 仅支持单引号

select * from table_name where name = 'abc'

mysql 单引号/双引号都支持

select * from table_name where name = "abc"

5. 批量插入

mysql、pgsql批量插入

insert into table_name() values()

oracle批量插入

insert all into table_name() values()

mybatis兼容不同数据库

使用if标签判断_databaseId,分别适配不同的数据库,具体代码如下:

<insert id="insertBatch" parameterType="java.util.List">
  <if test="_databaseId=='mysql' or _databaseId=='postgresql'">
    insert into table_name
    (<include refid="insertBatchColumn"></include>)
    values
    <foreach collection="list" item="item" index="index" separator="," >
      (<include refid="insertBatchValue"></include>)
    </foreach>
  </if>
  <if test="_databaseId=='oracle'">
    insert all
    <foreach collection="list" item="item" index="index" separator="">
      into table_name
      (<include refid="insertBatchColumn"></include>)
      values (<include refid="insertBatchValue"></include>)
    </foreach>
    select * from dual
  </if>
</insert>

<sql id="insertBatchColumn">
  id,name,age,gender
</sql>
<sql id="insertBatchValue">
  #{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR},
  #{item.age,jdbcType=INTEGER},#{item.gender,jdbcType=INTEGER}
</sql>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: postgresql如何兼容MySQL if函数

本文链接: https://www.lsjlt.com/news/200596.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • postgresql如何兼容MySQL if函数
    目录PostgreSQL兼容mysql if函数if函数说明postgresql自定义if函数兼容mysql、oracle、postgresql兼容适配sql使用区别myBATis兼容不同数据库总结postgresql兼...
    99+
    2023-03-20
    postgresql兼容MySQL MySQL if函数 MySQL if
  • postgresql怎么兼容MySQL if函数
    这篇文章主要介绍“postgresql怎么兼容MySQL if函数”,在日常操作中,相信很多人在postgresql怎么兼容MySQL if函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-05
  • postgresql如何兼容MySQLif函数
    目录postgresql兼容MySQL if函数if函数说明postgresql自定义if函数兼容mysql、oracle、postgresql兼容适配sql使用区别mybatis兼...
    99+
    2023-03-20
    postgresql兼容MySQL MySQL if函数 MySQL if
  • 基于PostgreSQL和mysql数据类型对比兼容
    1、数值类型 整数: mysql中的整数类型和pg相比,两者有以下区别: mysql:mysql中支持int 1,2,3,4,8 字节,同时支持有符号,无符号。并且mysql中支持在数值列中指定zerofill,用来...
    99+
    2022-05-26
    PostgreSQL mysql 数据类型对比
  • 对MySQL函数substring_index(str,delim,count)的兼容
    ...
    99+
    2019-07-15
    对MySQL函数substring_index(str delim count)的兼容
  • Java函数数据类型与Apache的兼容性如何?
    Java是一种广泛使用的编程语言,它具有强大的函数数据类型。然而,有些开发人员可能会遇到Java函数数据类型与Apache的兼容性问题。本文将探讨Java函数数据类型与Apache之间的兼容性问题,并提供演示代码。 Apache是一个开源...
    99+
    2023-08-16
    函数 数据类型 apache
  • excel中if函数如何使用
    IF函数在Excel中用于在满足特定条件时返回不同的值。其语法如下:=IF(条件, 值1, 值2)其中,条件是一个逻辑表达式,如果为...
    99+
    2023-09-29
    excel
  • Java Load API函数:如何实现跨平台和兼容性?
    Java是一种广泛应用于跨平台开发的编程语言。在Java中,Load API函数是一个关键的工具,可以帮助开发人员实现跨平台和兼容性。在本文中,我们将深入探讨Java Load API函数的实现方式,并提供一些演示代码。 首先,让我们了解一...
    99+
    2023-06-06
    load api 函数
  • excel如何用if函数填充数据
    在Excel中,可以使用IF函数来填充数据。IF函数的语法是:IF(条件, 结果为真时的值, 结果为假时的值)。以下是使用IF函数填...
    99+
    2023-10-10
    excel
  • PostgreSQL 中sum()函数如何使用
    这篇文章将为大家详细讲解有关PostgreSQL 中sum()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PostgreSQL的SUM函数用来...
    99+
    2022-10-19
  • js中如何解决Date()日期函数浏览器兼容的问题
    这篇文章主要为大家展示了“js中如何解决Date()日期函数浏览器兼容的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中如何解决Date()日期函数浏览...
    99+
    2022-10-19
  • js中startsWith函数不能在任何浏览器兼容怎么办
    小编给大家分享一下js中startsWith函数不能在任何浏览器兼容怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在做js...
    99+
    2022-10-19
  • 如何在不兼容的DDL命令后修复MySQL复制
    MySQL支持复制到一个更高版本的slave,这允许我们通过升级从机和指向应用程序来轻松地将MySQL设置升级到一个新版本。但如果不支持或者是应用程序在旧版本的MySQL上表现得更好,我们就需要通过降级来...
    99+
    2022-10-18
  • PostgreSQL如何实现类似CURRENT_DATE函数的功能
    小编给大家分享一下PostgreSQL如何实现类似CURRENT_DATE函数的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2022-10-18
  • shell数据类型和go语言的兼容性如何?
    Shell脚本是一种在Unix和类Unix操作系统上执行命令的脚本语言。它是一种非常灵活的编程语言,可以用于自动化许多任务,包括文本处理、系统管理、网络管理等等。而Go语言是一种由Google开发的编程语言,它被设计用来解决现代软件开发中的...
    99+
    2023-06-24
    load shell 数据类型
  • MySQL到DB2: 如何进行系统的兼容性测试和验证?
    MySQL到DB2: 如何进行系统的兼容性测试和验证?近年来,随着企业数据的快速增长以及业务的复杂性提高,许多企业开始考虑从MySQL数据库迁移到DB2数据库。但是,在进行数据库迁移之前,系统的兼容性测试和验证是非常重要的一步。本文将介绍如...
    99+
    2023-10-22
    兼容性测试 (Compatibility testing) 系统验证 (System validation) MySQL
  • PostgreSQL中Review PG的Optimizer机制如何优化函数
    小编给大家分享一下PostgreSQL中Review PG的Optimizer机制如何优化函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去...
    99+
    2022-10-19
  • 如何编写mysql函数
    下文主要给大家带来如何编写mysql函数,希望这些内容能够带给大家实际用处,这也是我编辑如何编写mysql函数这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。mysql中函数的编写如下:create...
    99+
    2022-10-18
  • 一个微服务系统如何实现兼容oracle数据库
    一.背景 很多时候我们的系统往往使用的是MySql数据库,却突然遇上要使用oracle数据库了,这时候就要考虑给系统做兼容多种数据库了。 二.步骤 1.在配置文件或者配置中心对应的服务配置文件里配置对应的数据源,配置哪个数据库,你的系统就...
    99+
    2018-04-16
    一个微服务系统如何实现兼容oracle数据库
  • MySQL DATEDIFF() 函数如何工作?
    MySQL DATEDIFF() 函数返回两个日期之间的天数。该函数的语法如下 -DATEDIFF(date1,date2)例如,如果我们想知道“2017-10-22”和“2017-09-21”之间的天数,那么我们可以使用 DATEDIFF...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作