易生活网
    • 网站首页
    • 公司简介
      公司简介
      企业文化
    • 产品展示
    • 新闻动态
      公司新闻
      行业新闻
    • 成功案例
      成功案例
    • 客户服务
      售后服务
      技术支持
    • 人才招聘
    • 联系我们
      联系我们
      在线留言

    新闻动态Site navigation

    公司新闻
    行业新闻

    联系方式Contact


    地 址:上海市宝山66号
    电 话:17730087525
    网址:dsesh.com

    邮 箱:7231405@qq.com

    网站首页 > 新闻动态
    新闻动态Welcome to visit our

    postgreSQL中的case用法说明

    分享到:
      来源:易生活网  更新时间:2026-10-01 03:32:05  【打印此页】  【关闭】

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

    工具(ju):postgreSQL

    postgreSQL中的case用法说明

    Navicat Premium

    postgreSQL中的case用法说明

    又一次在看(kan)代码的用法时候,发现了不懂的说明东西!

    postgreSQL中的case用法说明

    这次就(jiu)是用法case when then

    SQL CASE表达式是一种(zhong)通用的条件(jian)表达式,类似于(yu)其它语言中的说(shuo)明if/else语句。

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

    解(jie)释:

    condition是用法一个返回(hui)boolean的表达式。

    如(ru)果为真,说明那么(me)CASE表达(da)式的(de)用法结果就是符合条件的(de)result。

    如果结(jie)果为假,说明那么以相同方(fang)式 搜寻随后的(de)用法WHEN子句。

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

    如(ru)果省略了(le)ELSE子句而(er)且没有匹配的条件(jian),结果为NULL。

    1select * from city

    我(wo)们的测试数据:

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

    结果如下:

    select sum(city_id),CASE
    when city_id < 3 then '小于3'
    when city_id > 8 then '大(da)于8'
    else '大于3小(xiao)于(yu)8' END
    FROM city
    group by
    CASE
    when city_id < 3 then '小于(yu)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

    结果如下:

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

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

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

    第三:如(ru)果要比较的数据为数字,则在case 后(hou)不(bu)能写 字段名,如果要比较(jiao)的数据为字符,则要在case后写上字段名(ming)

    补充: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年(nian)'
    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中判断某个传参是否为空

    <if test='geojsonString !=null and geojsonString !='''>
    WHERE
    st_intersects(geom,st_geomfromgeojson(#{ geojsonString}))
    </if>

    文章来源:脚本之家

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

    上一篇:龙岗网站建设公司_龙岗网站制作公司哪家好
    下一篇:黄石市建设工程信息网_黄石网站建设哪家技术好

    相关文章

    • 黄冈推广网站必备软件_黄冈怎样做好网络营销
    • 什么是SEO_长沙seo是什么平台
    • 什么推广方法是有效果的_网络推广的预计效果
    • 什么叫运营费_网站运营的费用项目包括
    • 龙岗网站建设公司_龙岗建设网站价格多少
    • 人脸搜索_搜索引擎人脸识别设置方法
    • 什么推广方法是有效果的_网络推广的方式有几种
    • 人类的环境可分为哪三种_网站建设环境分为
    • 龙岩网站设计_龙岩网站建设的流程
    • 什么是kpi绩效考核_网络推广的绩效考核标准_1

    友情链接:

    • 徐州界雅网络科技有限公司
    • 漯河相源网络科技有限公司
    • 丹东创鼎网络科技有限公司
    • 内蒙临河海码网络科技有限公司
    • 内蒙二连浩特码纽网络科技有限公司
    • 金坛卓曼网络科技有限公司
    • 肇庆霸界网络科技有限公司
    公司简介|产品展示|新闻动态|成功案例|客户服务|人才招聘|联系我们

    Copyright © 2026 Powered by 易生活网   sitemap

    0.278s , 49725.96875 kb