当前位置: 首页 > news >正文

postgresql 条件表达式

postgresql 条件表达式

  • 简单CASE表达式
  • 搜索CASE表达式
  • 缩写函数
    • nullif函数
      • 示例
    • coalesce函数
  • 总结

简单CASE表达式

语法如下

case 表达式when1 then 结果1when2 then 结果2else 默认值
end;
select 
e.first_name ,
e.last_name ,
case e.department_id 
when 90 then '管理'
when 60 then '开发'
else '其他'
end as "部门"
from employees e ;

在这里插入图片描述

搜索CASE表达式

case when 条件1 then 结果1when 条件2 then 结果2else 默认结果
end

根据薪水的范围将员工的收入分为高中低三个档次

select 
e.first_name ,
e.last_name,
e.salary ,
case when e.salary <5000 then '低收入'when e.salary between 5000 and 10000 then '中等收入'else '高收入'
end as "收入"
from public.employees e ;

在这里插入图片描述

缩写函数

nullif函数

语法如下

nullif(表达式1,表达式2)

NULLIF 函数包含 2 个参数,如果第一个参数等于第二个参数,返回 NULL;否则,返回第
一个参数的值,它可以使用等价的 CASE 表达式表示为:

CASEWHEN expression_1 = expression_2 THEN NULLELSE expression_1
END

示例

select nullif(1, 1), nullif('a', 'b');

在这里插入图片描述
nullif 还有常见的用法就是除数为0的错误

select 1 / nullif(0,0) as t;

在这里插入图片描述

coalesce函数

coalesce (表达式1,表达式2,表达式3)

COALESCE 函数接受多个参数,并且返回第一个非空的参数值;如果所有参数都为空值,
返回 NULL 值。它可以使用等价的 CASE 表达式表示为:

casewhen 表达式1 is not null then 表达式1when 表达式2 is not null then 表达式2when 表达式3 is not null then 表达式3
end
-- 查询佣金比率为空的数据显示为 0
select 
e.first_name ,
coalesce(e.commission_pct,0) as commissionPct
from cps.public.employees e;

在这里插入图片描述

总结

在这里插入图片描述

相关文章:

postgresql 条件表达式

postgresql 条件表达式 简单CASE表达式搜索CASE表达式缩写函数nullif函数示例 coalesce函数 总结 简单CASE表达式 语法如下 case 表达式when 值1 then 结果1when 值2 then 结果2else 默认值 end;select e.first_name , e.last_name , case e.department_id when 90 then 管…...

姜启源数学模型第五版第五章火箭发射升空

姜启源数学模型第五版第五章例题内容复现 数学建模背景1.学习内容火箭发射升空理论知识 2.例题3.问题分析不考虑空气阻力的模型考虑空气阻力的模型 4.代码内容复现不考虑空气阻力考虑空气阻力模型 数学建模背景 首先先简单的介绍数学建模是一个怎么样的内容 数学建模是一种将数…...

局域网中电脑共享文件给手机

学习资源&#xff1a; 局域网共享&#xff1a;这样设置&#xff0c;你可以轻松拷贝任何电脑的文件。_哔哩哔哩_bilibili 可以实现什么效果&#xff1f; 连接同一个WIFI&#xff0c;电脑端为服务端&#xff0c;提供共享文件&#xff0c;手机是客户端&#xff0c;可以读取服务端…...

线段树练习

P1198 [JSOI2008] 最大数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) // Problem: P1198 [JSOI2008] 最大数 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1198 // Memory Limit: 128 MB // Time Limit: 1000 ms // // Powered by CP Editor (https://c…...

Mybatis映射.动态sql.分页

介绍&#xff1a; 动态SQL是MyBatis提供的一种动态生成SQL语句的方式&#xff0c;可以根据不同的条件生成不同的SQL语句&#xff0c;从而实现更加灵活的查询和操作。 在MyBatis的映射文件中&#xff0c;可以通过使用if、choose、when、otherwise、foreach等标签来实现动态SQL…...

springboot向resources下写文件的两种方式

文章目录 方式一&#xff1a;方式二&#xff1a; 方式一&#xff1a; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class WriterFileUtils {private static final String prefix "classpath:";public static void writeFi…...

Sloare flare网卡信息

详细的安装信息 https://github.com/Xilinx-CNS/onload/tree/master/scripts 进行下载 Solarflare网卡开发&#xff1a;openonload 安装与调试_openonload安装_Erice_s的博客-CSDN博客 cns-sfnettest测试 cns-sfnettest 下载 https://github.com/Xilinx-CNS/cns-sfnettes…...

Redis知识点整理

第一部分&#xff1a;Redis基础知识点 1、数据类型 5种常用基础类型&#xff1a;string,hash,list,set,zset – 字符串&#xff0c;Hash表&#xff0c;List顺序集合&#xff0c;Set无序集合&#xff0c;ZSet有序集合3中特殊类型&#xff1a;bitmap-字节地图, hyperloglog-统计…...

React笔记(一)初识React

一、React概述 1、什么是react react的官网:React 用于构建用户界面的 JavaScript 库&#xff0c;它也是一个渐进式的用于构建用户界面的javascript框架 2、主要特征 声明式&#xff1a;使用原生JS编写的页面存在着开发效率低下、性能较差的情况&#xff0c;使用react大家就…...

C语言——指针进阶(一)

目录 ​编辑 一.字符指针 1.1 基本概念 1.2 面试题 二.指针数组 三.数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 四.数组参数、指针参数 4.1 一维数组传参 ​编辑 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 ​编辑 五.…...

【ArcGIS Pro二次开发】(62):复制字段

应网友需求&#xff0c;做了这么一个复制字段的小工具。 假定这样一个场景&#xff0c;手头有一个要素1&#xff0c;要素里有10个字段&#xff0c;另一个要素2&#xff0c;除了shape_area等图形字段外&#xff0c;没有其它字段。 现在的需求是&#xff0c;想把要素1中的8个字…...

【Tkinter系列02/5】界面初步和布局

本文是系列文章第二部分。前文见&#xff1a;【Tkinter系列01/5】界面初步和布局_无水先生的博客-CSDN博客 说明 一般来说&#xff0c;界面开发中&#xff0c;如果不是大型的软件&#xff0c;就不必用QT之类的实现&#xff0c;用Tkinter已经足够&#xff0c;然而即便是Tkinter规…...

2023年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;和最大的路径称为最佳路径。你的任务就是求出最佳路径上的…...

介绍一些编程语言— CSS 语言

介绍一些编程语言— CSS 语言 CSS 语言 简介 CSS&#xff0c;层叠样式表&#xff0c;是一种用来表现 HTML 或 XML 等文件样式的计算机语言。CSS 不仅可以静态地修饰网页&#xff0c;还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进…...

一文讲清楚c/c++中的宏

一文讲清楚c/c中的宏 文章目录 一文讲清楚c/c中的宏一、如何理解这个“宏”字面的意思呢&#xff1f;二、c/c中的宏详解三、宏的使用场景 一、如何理解这个“宏”字面的意思呢&#xff1f; 在刚开始学习C语言的时候&#xff0c;始终有点分不清楚"宏"这个字面上的意思…...

typescript进阶语法

typescript进阶语法 interface 接口定义 interface userType {name:string,age:number,sex?:string }type接口定义 type userType {name:string,age:number,sex?:string } type userType username # 固定值写法 let user:userType age # 报错 只能等于usernamepick摘取…...

宝塔终端 查看 7003端口 占用 并且杀死

要查看端口是否被占用并杀死相关进程&#xff0c;你可以按照以下步骤执行&#xff1a; 打开宝塔面板&#xff0c;进入服务器管理页面。在左侧导航栏中选择「工具」&#xff0c;然后选择「终端」进入宝塔终端界面。输入以下命令查看端口占用情况&#xff1a;netstat -tuln | gr…...

可解释性的相关介绍

一、可解释性的元定义&#xff08;Meta-definitions of Interpretability&#xff09; The extent to which an individual can comprehend the cause of a model’s outcome. [1]The degree to which a human can consistently predict a model’s outcome. [2] 可解释性&am…...

AUTOSAR规范与ECU软件开发(实践篇)6.7 服务软件组件与应用层软件组件端口连接

在生成了BSW模块的代码后, 切换到ISOLAR-A系统级设计界面,会发现产生一些基础软件模块的服务软件组件: BswM、 ComM、 Det和EcuM等, 如图6.60所示。 图6.60 生成了BSW后的服务软件组件 此时, 如果涉及服务软件组件与应用层软件组件的交互, 就需要为应用层软件组…...

菜鸟教程《Python 3 教程》笔记(6):列表

菜鸟教程《Python 3 教程》笔记&#xff08;6&#xff09; 6 列表6.1 删除列表元素6.2 列表函数和方法6.2.1 max()、min()6.2.2 reverse()6.2.3 sort() 6 列表 出处&#xff1a; 菜鸟教程 - Python3 列表 6.1 删除列表元素 >>> list [Google, Runoob, 1997, 2000]…...

LeetCode-56-合并区间

题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 可以使用 LinkedList&#xff0c;…...

Git gui教程---番外篇 gitignore 的文件使用

想说的 .gitignore 的文件一般大型的编译器带git的都会生成&#xff0c;他可以将你不想提交的文件在git下忽略掉&#xff0c;你应该不想将一大堆编译生成的过程文件&#xff0c;还有一些贼大的文件提交上git的。 凡是都有例外&#xff0c;一些冥顽不灵的编辑器&#xff0c;只能…...

javaee spring 用注解的方式实现ioc

spring 用注解的方式实现ioc spring核心依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…...

Linux基础(二)

这里写目录标题 一、网络管理1- 网络状态查看1.1 net-tools1.2 iproute2 2- 网络故障排除 &#xff01;step1:检测当前主机和目标主机是否畅通 [ping]step2:检测网络质量,追踪路由 [traceroute]step3:检测网络质量,检查是否有数据包丢失 [mrt]step4: 检查端口是否畅通 [telnet]…...

155. 最小栈(中等系列)

设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元素。 int…...

用python从零开始做一个最简单的小说爬虫带GUI界面(3/3)

目录 上一章内容 前言 出现的一些问题 requests包爬取小说的不便之处 利用aiohttp包来异步爬取小说 介绍 代码 main.py test_1.py test_3.py 代码大致讲解 注意 系列总结 上一章内容 用python从零开始做一个最简单的小说爬虫带GUI界面&#xff08;2/3&#xff09;_…...

SpringBoot+Vue如何写一个HelloWorld

一、SpringBoot介绍 Spring Boot是一个用于创建独立且可执行的Spring应用程序的框架。它简化了基于Spring框架的应用程序的开发过程&#xff0c;并提供了一种快速和简便的方式来构建Java应用程序。 Spring Boot提供了自动配置机制&#xff0c;通过引入适当的依赖项&#xff0…...

深度强化学习。介绍。深度 Q 网络 (DQN) 算法

马库斯布赫霍尔茨 一. 引言 深度强化学习的起源是纯粹的强化学习&#xff0c;其中问题通常被框定为马尔可夫决策过程&#xff08;MDP&#xff09;。MDP 由一组状态 S 和操作 A 组成。状态之间的转换使用转移概率 P、奖励 R 和贴现因子 gamma 执行。概率转换P&#xff08;系统动…...

【C++随笔02】左值和右值

【C随笔02】左值和右值 一、左值和右值1、字面理解——左值、右值2、字面理解的问题3、左值、右值4、左值的特征5、 右值的特征6、x和x是左值还是右值7、复合例子8、通常字面量都是一个右值&#xff0c;除字符串字面量以外&#xff1a; 二、左值引用和右值引用三、左值引用1、常…...

几个nlp的小任务(多选问答)

@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t...

网站建设是广告吗/上海百度推广公司

一、发此文的目的 1、对于想通过在chrome浏览器上通过插件的方式跑视频的话&#xff0c;可以解决有无的问题。 2、对于本文提到的问题欢迎有经验的大神给予指导。 二、为什么要做这个事情 由于工作关系&#xff0c;需要在chrome浏览器上实现一个播放视频监控的插件。插件架构选…...

国外做蛋糕网站/广告推广怎么找客户

JS 创建自定义对象的方法 工厂模式 优点&#xff1a;接受参数&#xff0c;可以无数次的调用这个函数&#xff0c;创建Person对象&#xff0c;而每次他都可以返回一个包含三个属性一个方法的对象。 缺点&#xff1a;虽然解决了创建多个相似对象的问题&#xff0c;但是没有解决…...

免费空间做网站/免费python在线网站

本文适用于将MyEclipse上的项目projectA检出后重命名为projectB的情况&#xff0c;如果只是检出projectA到Eclipse&#xff0c;也可以部分参考 1、从svn上检出Myeclipse项目到Eclipse 检出后&#xff0c;首先断开svn连接。 2、更改项目名称 从svn检出的项目projectA&#xff0c…...

新加坡政府网站建设/广州网络推广外包

SQL Server Compact免安装部署 原文:SQL Server Compact免安装部署情况 应用程序中的EF使用了SQL Server Compact&#xff0c;打包部署到客户机器上后提示数据库连接异常&#xff0c;信息类似”配置节“、”Provider Name“ balabala... 解决 从开发机器的machine.config获取相…...

wordpress相对路径设置/高端网站建设哪个好

Vue JSX Vue JSX 语法 参考文章&#xff1a;在Vue3.0中使用JSX的简单入门_咲奈的博客-CSDN博客_vue3使用jsxVue3 使用 jsx_沿着路走到底的博客-CSDN博客_vue3 使用jsx在vue3中使用jsx语法_艳子的皮皮猪的博客-CSDN博客_vue3使用jsx【组件库从0到1】Vite Vue3 TSX开发指南…...

网站日记在哪里看/百度网址怎么输入?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼现在入手一个项目&#xff0c;大概是JSP传来一个JSON串&#xff0c;然后H5页面再用ajax调用jsp&#xff0c;这边我想先用jsp写一些死的数据&#xff0c;但是不知道怎么写&#xff0c;网上搜了很多都不行。大概是这样的&#xff1a;…...