場景:
存在乙個使用者白名單表,提供了此使用者的使用者名稱和地區資訊,判斷此使用者是否在此白名單表中。
如:姓名 白名單地區
張三 中國,美國
則可使用如下語句:
select
id,user,
area_list
from
t_white_user
where
user = #
and (
coalesce (area_list, '') like concat (
'%' ,#, '%'
)or area_list is
null
)limit 1
技巧點分析:
1、coalesce函式說明:返回其引數中第乙個非空表示式,這裡使用即 area_list
2、白名單地區為多個國家以逗號分隔,則使用like concat的方式,能查詢出某個國家是否被包含其中。
PostgreSQL中的索引
索引是一種快速查詢資料的方法,它記錄了表中一列或多列與其物理位置之間的對應關係。常用的索引有b tree,hash,gist及gin等。1 b tree索引適合處理等值查詢和範圍查詢。2 hash只適合處理簡單的等值查詢。3 gist支援很多不同的索引策略。4 gin反轉索引,可以處理包含多個鍵的值...
postgresql中設定預設編碼
postgresql有兩個預設模板template0和template1,建立資料庫預設是以template1作為模板,兩個模板的區別是,如果以template0作為模板,可以自定義編碼,如下 create database db template template0問題似乎變得很明朗,想要改變po...
PostgreSQL中的chkpass模組
目錄 文件用途 詳細資訊 文件用途 chkpass模組使用了乙個名為chkpass的資料型別,此型別適用於儲存加密的口令。詳細資訊 使用chkpass模組後,每個口令在輸入的時候就自動的被轉換為加密的形式,而且總是以加密的形式儲存。進行比較時,可簡單地與明文口令比較,比較函式會先對明文口令進行加密。...