欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgreSQL中的case用法說明

 更新時間:2021年01月27日 08:39:55   作者:安善良民弱女子  
這篇文章主要介紹了postgreSQL中的case用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

工具:postgreSQL

Navicat Premium

又一次在看代碼的時候,發(fā)現了不懂的東西!

這次就是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。

select * from city

我們的測試數據:

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

結果如下:

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

結果如下:

根據上面兩個例子可以明確的看出:

第一:為了在 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中判斷某個傳參是否為空

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • PostgreSQL慢SQL的定位排查方法

    PostgreSQL慢SQL的定位排查方法

    所謂慢SQL 是指在數據庫中執(zhí)行時間超過指定閾值的語句,慢查詢太多,對于業(yè)務而言,是有很大風險的,可能隨時都會因為某種原因而被觸發(fā),本篇文章將介紹 PostgreSQL 慢 SQL 如何定位排查,需要的朋友可以參考下
    2024-07-07
  • PostgreSQL 數據庫跨版本升級常用方案解析

    PostgreSQL 數據庫跨版本升級常用方案解析

    這篇文章主要介紹了PostgreSQL 數據庫跨版本升級常用方案解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • sqoop讀取postgresql數據庫表格導入到hdfs中的實現

    sqoop讀取postgresql數據庫表格導入到hdfs中的實現

    這篇文章主要介紹了sqoop讀取postgresql數據庫表格導入到hdfs中的實現,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • postgresql如何找到表中重復數據的行并刪除

    postgresql如何找到表中重復數據的行并刪除

    這篇文章主要介紹了postgresql如何找到表中重復數據的行并刪除問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • PostgreSQL關閉數據庫服務的三種模式

    PostgreSQL關閉數據庫服務的三種模式

    PostgreSQL 提供了三種關閉數據庫服務的不同方式,它們最終都是發(fā)送一個關閉信號到 postgres 主服務進程,本文將給大家詳細的介紹一下這三種模式,需要的朋友可以參考下
    2024-07-07
  • PostgreSQL基礎知識之SQL操作符實踐指南

    PostgreSQL基礎知識之SQL操作符實踐指南

    這篇文章主要給大家介紹了關于PostgreSQL基礎知識之SQL操作符實踐的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用PostgreSQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • PostgreSQL的應用技巧和示例分享

    PostgreSQL的應用技巧和示例分享

    本文會總結一些Postgres中,從應用需求和場景出發(fā),不太常見,但比較常用并且有用的SQL語句,文中的示例代碼簡潔易懂,需要的小伙伴可以收藏一下
    2023-06-06
  • Postgresql數據庫角色創(chuàng)建登錄詳解

    Postgresql數據庫角色創(chuàng)建登錄詳解

    這篇文章主要為大家介紹了Postgresql數據庫角色創(chuàng)建登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • postgresql 數據庫 與TimescaleDB 時序庫 join 在一起

    postgresql 數據庫 與TimescaleDB 時序庫 join 在一起

    這篇文章主要介紹了postgresql 數據庫 與TimescaleDB 時序庫 join 在一起,需要的朋友可以參考下
    2020-12-12
  • postgresql 實現啟動、狀態(tài)查看、關閉

    postgresql 實現啟動、狀態(tài)查看、關閉

    這篇文章主要介紹了postgresql 實現啟動、狀態(tài)查看、關閉的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論