postgreSQL中的case用法说明

这篇文章主要介绍了postgreSQL中的case用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。

工具:postgreSQL

Navicat Premium

又一次在看代码的时候,发现了不懂的东西!

这次就是case when then

SQL CASE表达式是一种通用的条件表达式,类似于其它语言中的if/else语句。

 CASE WHEN condition THEN result
  [WHEN …]
  [ELSE result]
 END

 

解释:

condition是一个返回boolean的表达式。

如果为真,那么CASE表达式的结果就是符合条件的result。

如果结果为假,那么以相同方式 搜寻随后的WHEN子句。

如果没有WHEN condition为真,那么case表达式的结果就是在ELSE子句里的值。

如果省略了ELSE子句而且没有匹配的条件,结果为NULL。

1select * from city

我们的测试数据:

postgreSQL中的case用法说明

select SUM(city_id),case name
when ‘北京’ then ‘古都’
when ‘西安’ THEN ‘古都’
when ‘上海’ THEN ‘魔都’
when ‘NewYork’ then ‘纽约’
else ‘其他城市’ END
from city
GROUP BY
case name
when ‘北京’ then ‘古都’
when ‘西安’ THEN ‘古都’
when ‘上海’ THEN ‘魔都’
when ‘NewYork’ then ‘纽约’
else ‘其他城市’ END

 

结果如下:

postgreSQL中的case用法说明

select sum(city_id),CASE
when city_id < 3 then '小于3'
when city_id > 8 then ‘大于8’
else ‘大于3小于8’ END
FROM city
group by
CASE
when city_id < 3 then '小于3'
when city_id > 8 then ‘大于8’
else ‘大于3小于8’ END
order by
CASE
when city_id < 3 then '小于3'
when city_id > 8 then ‘大于8’
else ‘大于3小于8’ END DESC

 

结果如下:

postgreSQL中的case用法说明

根据上面两个例子可以明确的看出:

第一:为了在 GROUP BY 块中使用 CASE,查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块

第二:为了在ORDER BY块中使用CASE,查询语句需要在ORDER BY块中重复SELECT 块中的 CASE 块

第三:如果要比较的数据为数字,则在case 后不能写 字段名,如果要比较的数据为字符,则要在case后写上字段名

补充:Postgresql中(case、when)的用法

1.case when

(
    case
    when substr(starttime::varchar,0,5)=’2020′ then ‘2020年’
    when substr(starttime::varchar,0,5)=’2019′ then ‘2019年’
    when substr(starttime::varchar,0,5)=’2018′ then ‘2018年’
    when substr(starttime::varchar,0,5)=’2017′ then ‘2017年’
    when substr(starttime::varchar,0,5)=’2016′ then ‘2016年’
    when substr(starttime::varchar,0,5)=’2015′ then ‘2015年’
    when substr(starttime::varchar,0,5)=’2014′ then ‘2014年’
    when substr(starttime::varchar,0,5)=’2013′ then ‘2013年’
    when substr(starttime::varchar,0,5)=’2012′ then ‘2012年’
    when substr(starttime::varchar,0,5)=’2011′ then ‘2011年’
    when substr(starttime::varchar,0,5)=’2010′ then ‘2010年’
    when starttime is null then ‘其他年份’ end
 ) AS year

 

2.mybatis中判断某个传参是否为空

      WHERE
      st_intersects(geom,st_geomfromgeojson(#{geojsonString}))

文章来源:脚本之家

来源地址:https://www.jb51.net/article/204851.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/892557.html

(0)
上一篇 2025年1月3日 23:40:39
下一篇 2025年1月3日 23:41:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • SQLite 中文指南之FAQ第1/6页

    sqllite使用过程中碰到的一些问题解决,中文版 1. 如何创建自增字段? 2. SQLite 支持哪些数据类型? 3. 为什么能向 SQLite 数据库的整型字段中插入字符串? 4. 为什么 SQLite 认为表达式 ‘0&…

    数据库 2025年1月4日
    100
  • Access创建一个简单MIS管理系统

    所谓MIS管理系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。MIS管理系统是一种新兴的技术,那么下文中就给大家介绍Access这个有历史的数据库系统如何创建一个简单的MIS管理系统。 M…

    数据库 2025年1月4日
    100
  • 读取注册表根据Office版本获取数据库连接字段

    本节主要介绍了如何根据Office版本获取数据库连接字段,以读取注册表获取Office版本,实现代码如下,感兴趣的朋友不要错过 /// /// 读取注册表,根据Office版本获取数据库连接字段 /// /// 数据库连接字段 privat…

    数据库 2025年1月4日
    100
  • PostgreSQL操作符实践技巧分享

    这篇文章主要给大家介绍了关于PostgreSQL基础知识之SQL操作符实践的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 操作符是数据库具有的…

    2025年1月4日
    100
  • SQL Server如何通过创建临时表遍历更新数据详解

    这篇文章主要给大家介绍了关于SQL Server如何通过创建临时表遍历更新数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 前言: 前段时间新项目上线为了赶…

    2025年1月4日
    100
  • Mac系统重置PostgreSQL密码技巧及代码展示

    PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。这篇文章主要介绍了Mac系统重置PostgreSQL密码的方法示例代码,需要的朋友可以参考下 PostgreSQL是一种特性非常齐全的自由…

    数据库 2025年1月4日
    100
  • PostgreSQL技巧分享:图(graph)的递归查询实例

    这篇文章主要给大家介绍了关于PostgreSQL图(graph)的递归查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 背景 在树形递归查询这篇文…

    2025年1月4日
    100
  • PostgreSQL技巧 如何获取当前日期时间

    这篇文章主要介绍了PostgreSQL 如何获取当前日期时间及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在开发数据库应用或者调试代码时,经常需要获取系统的…

    数据库 2025年1月4日
    100
  • postgresql中的ltree类型使用技巧

    这篇文章主要给大家介绍了关于postgresql中ltree类型使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用postgresql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 postgresql有很多比较妖…

    2025年1月4日
    100
  • MongoDB通配符索引的用法实例

    这篇文章主要给大家介绍了关于MongoDB通配符索引的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 指南 MongoDB在4.2 版本推出了Wildcard …

    数据库 2025年1月4日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信