当前位置:   article > 正文

postgresql中COALESCE()函数技巧_pg coalesce 和 or 哪个快

pg coalesce 和 or 哪个快

场景:
存在一个用户白名单表,提供了此用户的用户名和地区信息,判断此用户是否在此白名单表中。
如:

姓名 白名单地区
张三 中国,美国

则可使用如下语句:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

技巧点分析:
1、coalesce函数说明:返回其参数中第一个非空表达式,这里使用即 area_list
2、白名单地区为多个国家以逗号分隔,则使用like concat的方式,能查询出某个国家是否被包含其中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/386745
推荐阅读
  

闽ICP备14008679号