返回顶部
首页 > 资讯 > 数据库 >【小计】PostgreSQL实现Oracle的decode函数功能
  • 906
分享到

【小计】PostgreSQL实现Oracle的decode函数功能

2024-04-02 19:04:59 906人浏览 泡泡鱼
摘要

create or replace function decode(variadic p_decode_list text[]) ret



create or replace function decode(variadic p_decode_list text[])
returns text
 as
$$
declare
 -- 获取数组长度(即入参个数)
 v_len integer := array_length(p_decode_list, 1);
 -- 声明存放返回值的变量
 v_ret text;
begin
 
 
 -- 同oracle相同当参数不足三个抛出异常
 if v_len >= 3 then
  -- Oracle中的DECODE是拿第一个数依次和之后的偶数位值进行比较,相同则取偶数位+1的数值
  for i in 2..(v_len - 1) loop
   v_ret := null;
   if mod(i, 2) = 0 then
    if p_decode_list[1] = p_decode_list[i] then
     v_ret := p_decode_list[i+1];
    elsif p_decode_list[1] <> p_decode_list[i] then
     if v_len = i + 2 and v_len > 3 then
      v_ret := p_decode_list[v_len];
     end if;
    end if;
   end if;
   exit when v_ret is not null;
  end loop;
 else
  raise exception 'UPG-00938: not enough args for function.';
 end if;
 return v_ret;
end;
$$
 language plpgsql;




-- 测试1
select decode('_a','_aa', 'x') a3,
       decode('_a','_aa', 'x', 's') a4,
       decode('_a', '_aa', 'x', '_b', 's') a5,
       decode('_b', '_aa', 'x', '_b', 's') a5,
       decode('_a', '_aa', 'x', '_b', 's', 'o', 'x', 'tt') a6;
-- 测试2
with xx as
(
 select 'M' sex
 uNIOn all
 select 'F' sex
 union all
 select 'X' sex
 union all
 select 'Z' sex
 union all
 select '' sex
)
select sex, decode(sex, 'M', '男', 'F', '女', decode(sex, 'X', '变性', '其它')) from xx;


您可能感兴趣的文档:

--结束END--

本文标题: 【小计】PostgreSQL实现Oracle的decode函数功能

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

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

猜你喜欢
  • 【小计】PostgreSQL实现Oracle的decode函数功能
    create or replace function decode(variadic p_decode_list text[]) ret...
    99+
    2024-04-02
  • 【小计】PostgreSQL实现Oracle的trunc日期函数功能
    create or replace function trunc(p_timestamp timestamp with time&nbs...
    99+
    2024-04-02
  • 深入理解Oracle DECODE函数的功能与特性
    深入理解Oracle DECODE函数的功能与特性 在Oracle数据库中,DECODE函数是一种非常常用的条件判断函数,其功能是根据指定条件进行数值转换或者返回某个固定的值。在实际的...
    99+
    2024-03-08
    功能 特性 sql语句
  • PostgreSQL如何实现类似CURRENT_DATE函数的功能
    小编给大家分享一下PostgreSQL如何实现类似CURRENT_DATE函数的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • MySQL如何实现oracle函数INSTR的功能
    下文我给大家简单讲讲关于MySQL如何实现oracle函数INSTR的功能,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完MySQL如何实现oracle函数INSTR的功能对大...
    99+
    2024-04-02
  • Vue实现倒计时小功能
    很多项目中都需要实现倒计时功能,例:发送验证码。现在举例实现一个简单的倒计时按钮功能。简单布局,简单操作,简单效果,最主要的是思路和倒计时步骤理解!!! 例、代码如下: 要求:点击提...
    99+
    2024-04-02
  • jquery实现计算器小功能
    本文实例为大家分享了jquery实现计算器功能的具体代码,供大家参考,具体内容如下 用jquery实现计算器对于我来说有三个难点 1.单纯的html页面,怎么实现计算2.显示屏用什么...
    99+
    2024-04-02
  • python实现计算器小功能
    本文实例为大家分享了python实现计算器功能的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例利用 Python 开发一个可以进行简单的四则运算的图形化计算器,会用到 Tk...
    99+
    2024-04-02
  • iOS实现计算器小功能
    本文实例为大家分享了iOS实现计算器小功能,供大家参考,具体内容如下 本文利用ios实现计算器app,后期将用mvc结构重构 import UIKit class CalculVi...
    99+
    2024-04-02
  • 小程序实现计时器小功能
    本文实例为大家分享了小程序实现计时器小功能的具体代码,供大家参考,具体内容如下 效果图如下 布局(.wxml) <view class="countTime">{{ti...
    99+
    2024-04-02
  • 小程序实现计算器功能
    本文实例为大家分享了小程序实现计算器功能的具体代码,供大家参考,具体内容如下 实现模拟手机上的计算器,输入即可运算 本页面是做一个计算收款的页面,如果不需要下面的内容可以删除掉 w...
    99+
    2024-04-02
  • 小程序实现计时器功能
    本文实例为大家分享了小程序实现计时器功能的具体代码,供大家参考,具体内容如下 效果图如下 布局(.wxml) <view class="countTime">{{tim...
    99+
    2024-04-02
  • postgresql中的nullif函数有哪些功能
    在 PostgreSQL 中,NULLIF 函数用于比较两个表达式,并在它们相等时返回 NULL,否则返回第一个表达式的值。该函数主...
    99+
    2024-05-08
    postgresql
  • C#实现简单的计算器小功能
    本文实例为大家分享了C#实现简单的计算器小功能的具体代码,供大家参考,具体内容如下 先来张效果图吧(5分钟写好,莫怪) 代码: 数字按钮绑定的是button_Clickd()方法 ...
    99+
    2024-04-02
  • C++实现简单的计算器小功能
    用C++编写简单计算器,供大家参考,具体内容如下 限制: 1、只能使用分支语句与循环语句;2、不能使用数组和自定义函数;(即把自己当作只学到分支语句和循环语句的初学者) 计算器要求:...
    99+
    2024-04-02
  • 微信小程序实现计算器小功能
    微信小程序现在越来越火爆了,我也看到很多在校大学生都在自学了,那些专门从事APP开发,网页开发的工作者更是看到了小程序的前景,在小程序领域也掺上一脚,本人也是自学小程序的,初期跟很多...
    99+
    2024-04-02
  • PostgreSQL中query_planner主计划函数make_one_rel的实现逻辑
    这篇文章主要介绍PostgreSQL中query_planner主计划函数make_one_rel的实现逻辑,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Paths and Jo...
    99+
    2024-04-02
  • C#实现简易计算器小功能
    本文实例为大家分享了C#实现简易计算器小功能的具体代码,供大家参考,具体内容如下 简易的登陆界面。 具有幻灯片效果。(picturebox time控件)计算器支持多位数,小数,括...
    99+
    2024-04-02
  • JavaScript实现简单计算器小功能
    本文实例为大家分享了JavaScript实现简单计算器的具体代码,供大家参考,具体内容如下 此例为简单的计算器: 代码示例: <!DOCTYPE html> <h...
    99+
    2024-04-02
  • python怎么实现计算器小功能
    python怎么实现计算器小功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 案例介绍本例利用 Python 开发一个可以进行简单的四则运算的图形化计算器,会用到 T...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作