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

postgresql如何兼容MySQLif函数

postgresql兼容MySQLMySQLif函数MySQLif 2023-03-20 17:03:45 811人浏览 薄情痞子
摘要

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

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如何兼容MySQLif函数

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

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

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

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

下载Word文档
猜你喜欢
  • 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 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和mysql数据类型对比兼容
    1、数值类型 整数: mysql中的整数类型和pg相比,两者有以下区别: mysql:mysql中支持int 1,2,3,4,8 字节,同时支持有符号,无符号。并且mysql中支持在数值列中指定zerofill,用来...
    99+
    2022-05-26
    PostgreSQL mysql 数据类型对比
  • Java函数数据类型与Apache的兼容性如何?
    Java是一种广泛使用的编程语言,它具有强大的函数数据类型。然而,有些开发人员可能会遇到Java函数数据类型与Apache的兼容性问题。本文将探讨Java函数数据类型与Apache之间的兼容性问题,并提供演示代码。 Apache是一个开源...
    99+
    2023-08-16
    函数 数据类型 apache
  • 对MySQL函数substring_index(str,delim,count)的兼容
    ...
    99+
    2019-07-15
    对MySQL函数substring_index(str delim count)的兼容
  • 一文详解Node.contain 函数兼容处理
    目录前言contains方法兼容处理总结前言 好久不写文章了,都不知道跟大家怎么打招呼了,新的一年开始,也应该收心,做一些文字的记录以及分享了。 先说下写这篇文章的由来吧,接到一个...
    99+
    2023-03-08
    Node.contain 函数兼容 Node.contain 函数
  • Java Load API函数:如何实现跨平台和兼容性?
    Java是一种广泛应用于跨平台开发的编程语言。在Java中,Load API函数是一个关键的工具,可以帮助开发人员实现跨平台和兼容性。在本文中,我们将深入探讨Java Load API函数的实现方式,并提供一些演示代码。 首先,让我们了解一...
    99+
    2023-06-06
    load api 函数
  • Node.contain函数兼容处理的方法是什么
    本文小编为大家详细介绍“Node.contain函数兼容处理的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.contain函数兼容处理的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-05
  • PostgreSQL 中sum()函数如何使用
    这篇文章将为大家详细讲解有关PostgreSQL 中sum()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PostgreSQL的SUM函数用来...
    99+
    2022-10-19
  • Win8兼容性如何 Windows8兼容性的实测介绍
    最新的Win8操作系统已经敲定将于今年十月正式上市,目前我们可以用到的最接近正式版本的WIN8系统是8月16日公布的免费企业版,用户可以免费下载,不过一台电脑仅能试用90天,很多尝鲜用户已经下载并且使用了。...
    99+
    2022-06-04
    兼容性
  • win10兼容性如何?微软详解Windows 10兼容性
    每每遇到Windows系统更新,大家最关心的话题之 微软也承认,兼容性问题不可避免,但一直在努力发现并解决所有的问题,尤其是需要在用户升级之前及时搞定,毕竟升级过去了再发现问题就不好整了。 这主要分为三个方面: 1、应用...
    99+
    2023-06-16
    win10 兼容性 微软 Windows 10兼容性
  • 详解vue3中渲染函数的非兼容变更
    目录渲染函数API变更 Render函数参数 渲染函数签名更改VNode Props 格式化slot统一 移除$listeners $attrs现在包括class和styl...
    99+
    2022-11-11
  • js中如何解决Date()日期函数浏览器兼容的问题
    这篇文章主要为大家展示了“js中如何解决Date()日期函数浏览器兼容的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中如何解决Date()日期函数浏览...
    99+
    2022-10-19
  • Win11如何改兼容性
    要改变Windows 11的兼容性,您可以尝试以下方法:1. 更新系统:确保您的Windows 11系统已经安装了最新的更新和补丁。...
    99+
    2023-08-20
    Win11
  • Win10如何开启兼容
    这篇文章将为大家详细讲解有关Win10如何开启兼容,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法一在键盘上按下win+I打开windows设置窗口,随后选择“更新和安全”进入。此时将鼠标切换至“开发者...
    99+
    2023-06-27
  • Win8程序不兼容怎么查看?兼容中心是如何确定程序的兼容性
    Win8对于投入运营不长时间的系统来说,存在系统和软件的兼容性问题是很常见的。毕竟,之前的系统Win7和Xp系统,由于普及率较高,许多程序和软件都是根据他们进行开发的。所以,现在的系统存在很大的兼容性问题。...
    99+
    2022-06-04
    程序 兼容性 不兼容
  • js中startsWith函数不能在任何浏览器兼容怎么办
    小编给大家分享一下js中startsWith函数不能在任何浏览器兼容怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在做js...
    99+
    2022-10-19
  • windows11兼容性如何设置
    这篇文章主要介绍了windows11兼容性如何设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows11兼容性如何设置文章都会有所收获,下面我们一起来看看吧。windows11兼容性设置方法:首先打开...
    99+
    2023-07-01
  • angular8如何兼容ie10+版本
    这篇文章主要介绍了angular8如何兼容ie10+版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.pollyfills.ts添加下面两行import ...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作