婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > postgresql 中的COALESCE()函數(shù)使用小技巧

postgresql 中的COALESCE()函數(shù)使用小技巧

熱門標(biāo)簽:移動(dòng)外呼系統(tǒng)模擬題 廣州電銷機(jī)器人公司招聘 濟(jì)南外呼網(wǎng)絡(luò)電話線路 地圖標(biāo)注要花多少錢 電話機(jī)器人怎么換人工座席 400電話申請(qǐng)客服 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 天津開(kāi)發(fā)區(qū)地圖標(biāo)注app 江蘇400電話辦理官方

場(chǎng)景:

存在一個(gè)用戶白名單表,提供了此用戶的用戶名和地區(qū)信息,判斷此用戶是否在此白名單表中。

如:

姓名 白名單地區(qū)

張三 中國(guó),美國(guó)

則可使用如下語(yǔ)句:

SELECT
  ID,
  user,
  area_list
FROM
  t_white_user
WHERE
  user = #{ user,
  jdbcType = VARCHAR }
AND (
  COALESCE (area_list, '') LIKE CONCAT (
    '%' ,#{ country,
    jdbcType = VARCHAR }, '%'
  )
  OR area_list IS NULL
)
LIMIT 1

技巧點(diǎn)分析:

1、coalesce函數(shù)說(shuō)明:返回其參數(shù)中第一個(gè)非空表達(dá)式,這里使用即 area_list

2、白名單地區(qū)為多個(gè)國(guó)家以逗號(hào)分隔,則使用like concat的方式,能查詢出某個(gè)國(guó)家是否被包含其中。

補(bǔ)充:PostgreSQL - null和''的區(qū)別與判斷以及COALESCE函數(shù)

null和''的區(qū)別與判斷

null是一種類型,''是空字符串,打個(gè)比方,''是你參加了考試且得了零分,而null則是你壓根就沒(méi)有參加考試。

如果要在sql中對(duì)兩者進(jìn)行判斷,是有區(qū)別的:

//null只能和is或is not搭配,不能使用=、!=或者>
select * from student where name is null;
select * from student where name is not null;
//''的判斷可以使用=、!=或者>
select * from student where name = '';
select * from student where name != '';
select * from student where name > '';

使用COALESCE函數(shù)

COALESCE函數(shù)是返回參數(shù)中的第一個(gè)非null的值,它要求參數(shù)中至少有一個(gè)是非null的,如果參數(shù)都是null會(huì)報(bào)錯(cuò)。

select COALESCE(null,null); //報(bào)錯(cuò)
select COALESCE(null,null,now()::varchar,''); //結(jié)果會(huì)得到當(dāng)前的時(shí)間
select COALESCE(null,null,'',now()::varchar); //結(jié)果會(huì)得到''
//可以和其他函數(shù)配合來(lái)實(shí)現(xiàn)一些復(fù)雜點(diǎn)的功能:查詢學(xué)生姓名,如果學(xué)生名字為null或''則顯示“姓名為空”
select case when coalesce(name,'') = '' then '姓名為空' else name end from student;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql SQL語(yǔ)句變量的使用說(shuō)明
  • PostgreSQL 正則表達(dá)式替換-使用變量方式
  • postgresql 導(dǎo)入數(shù)據(jù)庫(kù)表并重設(shè)自增屬性的操作
  • postgresql coalesce函數(shù)數(shù)據(jù)轉(zhuǎn)換方式
  • postgresql 實(shí)現(xiàn)修改jsonb字段中的某一個(gè)值
  • postgresql 存儲(chǔ)函數(shù)調(diào)用變量的3種方法小結(jié)

標(biāo)簽:杭州 昭通 辛集 海西 溫州 寶雞 榆林 濮陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgresql 中的COALESCE()函數(shù)使用小技巧》,本文關(guān)鍵詞  postgresql,中的,COALESCE,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgresql 中的COALESCE()函數(shù)使用小技巧》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于postgresql 中的COALESCE()函數(shù)使用小技巧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉尔市| 徐闻县| 建平县| 敦煌市| 唐山市| 济宁市| 伽师县| 乌兰县| 六盘水市| 青岛市| 道孚县| 西丰县| 吉首市| 武鸣县| 新化县| 潮安县| 邵东县| 阿鲁科尔沁旗| 莱芜市| 邵阳市| 镇康县| 济宁市| 凤翔县| 丘北县| 镇赉县| 罗江县| 科技| 尼玛县| 资阳市| 昌黎县| 云霄县| 新河县| 海原县| 鹰潭市| 平罗县| 囊谦县| 中宁县| 南宁市| 治多县| 华宁县| 浙江省|