PostgreSQL中case when与position包含用法

这篇具有很好参考价值的文章主要介绍了PostgreSQL中case when与position包含用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于复杂的业务场景,代码与SQL都可以去实现一个场景。如果用代码去实现看起来代码会冗余,不高效,不如sql的效率与简洁。

1.Case when 数据库中的if else

pgsql与mysql中case when用法几乎一致。在SQL中,“Case When”语句用于选择判断,在执行时先对条件进行判断,然后根据判断结果做出相应的操作;语法“CASE 字段 WHEN 条件1 THEN 操作1 WHEN 条件2 THEN 操作2…ELSE 操作 END;结束”。

case when类似于编程语言中的if else判断、switch case语句。该语句执行时先对条件进行判断,然后根据判断结果做出相应的操作。

Case具有两种格式:简单Case函数和Case搜索函数。

简单case函数:
case sex
when '1' then '男'
when '0' then '女'
else '其他' end;
case搜索函数
case 
when sex = '1' then '男'
when sex = '0' then '女'
else '其他' end;

显然,简单Case函数胜在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。
**注意:**还有一个需要注意的问题,Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。

2.POSITION()用法,相当于java中contains

postgresql中position函数提供从头查找返回第一个匹配到字符串的下标。
用法也非常简单,意思是前面的值在后面的值中包含,如果>0,则说明包含,等于0则不包含

POSITION()函数返回一个整数,该整数表示子字符串在字符串中的位置.如果在字符串中未找到子字符串,则POSITION()函数将返回零(0)。如果子字符串或字符串参数为null,则返回null。

select position('a' in 'abc')
-- 结果:1

Case when 与Position两种一起用

select 
case when position('a' in 'abc') > 0 then '包含'
else '不包含' end as name
-- 结果:包含

在复杂的场景中,可以将“abc”直接换成某一个字段,进行对比判断是否包含,输出所满足条件的值即可。文章来源地址https://www.toymoban.com/news/detail-448635.html

select
        a.coupon_name__c as couponName,-- 券名
        case
            when position('普卡' in a.coupon_name__c) > 0 then '普卡会员'
            when position('银卡' in a.coupon_name__c) > 0 then '银卡会员'
            when position('白金' in a.coupon_name__c) > 0 then '白金卡会员'
            when position('金卡' in a.coupon_name__c) > 0 then '金卡会员'
        else '' end as name
    from tab1

到了这里,关于PostgreSQL中case when与position包含用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL中的单条件判断函数IF,和多条件判断CASE WHEN的用法

    在SQL中,条件判断函数IF用于根据指定的条件返回不同的值。 condition:要判断的条件。 value_if_true:如果条件为真,则返回的值。 value_if_false:如果条件为假,则返回的值。 假设有如下名为studensts的表,包含id、name和score字段: 我们想根据学生的分数判断是否及格,并返回相

    2024年02月11日
    浏览(82)
  • 12. Oracle中case when详解

    格式:         case expression         when condition_01 then result_01         when condition_02 then result_02         ......         when condition_n then result_n         else result_default         end 表达式expression符合条件condition_01,则返回结果result_01,若该条件不满足,则继续往下判断;以

    2024年02月11日
    浏览(69)
  • sql示例:case when作为where 条件

    CASE WHEN语句的结果可以作为WHERE条件和其他条件一起使用,可以根据具体的需求来灵活组合。下面分别给出多个CASE WHEN语句在不同位置的SQL示例: CASE WHEN语句在WHERE条件中作为条件之一 上述代码中,CASE WHEN语句在WHERE条件中作为一个条件,其中condition_1和condition_2表示需要满足

    2024年02月16日
    浏览(73)
  • CASE WHEN函数语句多条件下使用详解

    目录 CASE 的两种格式: 简单CASE函数 和 CASE搜索函数 同时配合 SUM 以及 COUNT 方法的使用 ① SUM函数 ② COUNT函数 CASE WHEN函数语句,实现简单CASE函数和CASE搜索函数两种格式。 同时配合 SUM以及COUNT方法的使用 CASE 的两种格式:  简单CASE函数 和 CASE搜索函数 两种格式示例: 状态

    2024年02月11日
    浏览(71)
  • SQL SERVER case when的使用方法

    一、case when的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 第一种 格式 : 简单Case函数 : 格式说明 case 列名 when 条件值1 then 选项1 when 条件值2 then 选项2… else 默认值 end eg: select case job_level when ‘1’ then ‘1111’ when ‘2’ then ‘1111’ when ‘3’ then ‘1111’ else ‘e

    2024年02月13日
    浏览(69)
  • Spring XML使用CASE WHEN处理SELECT字段

    在日常开发中,经常会碰到需要导出的情况。而一些枚举值或者状态一般是定义成整型,这个时候需要对数据进行转换,转换成对应的文本再导出。 在XML中用CASE WHEN来根据不同的查询结果做不同的处理。 比如 这样,如果学生的状态值是1,则返回在学;如果状态值是2,则返

    2024年02月05日
    浏览(43)
  • hive中case when的两种使用方法

    如下两种的表达效果是一样 方法一: select tm , count(tm) as times from ( select case when single_times = \\\'1\\\' then \\\'one_time\\\' when single_times = \\\'2\\\' then \\\'two_time\\\' when single_times = \\\'3\\\' then \\\'three_time\\\' when single_times = \\\'4\\\' then \\\'four_time\\\' when single_times = \\\'5\\\' then \\\'five_time\\\' else \\\'more_five\\\' end as tm from (select count(userid) si

    2023年04月11日
    浏览(60)
  • MySQL之case...when...then...end的详细使用

      今天我们主要是讲讲case…when…then…end的用法,它主要分成两类: 简单Case函数 Case搜索函数 假设我们数据库有一个员工信息表表如下: 接下来希望你看文章时不要因为sql长而害怕,都是些重复的东西而已,请放宽心态看待。 2.1、语法定义   语法如下:    字段名

    2024年02月04日
    浏览(74)
  • SQL之CASE WHEN函数语句多条件下使用详解

    针对CASE WHEN函数语句,实现简单CASE函数和CASE搜索函数两种格式。 同时配合 SUM以及COUNT方法的使用 1、CASE 的两种格式:  简单CASE函数和CASE搜索函数 两种格式示例: 状态: state 订单号: orderId 这两种格式式,可以实现相同的功能。但是简单CASE函数和CASE搜索函数相比,功能

    2024年02月11日
    浏览(95)
  • SQL中的CASE WHEN语句:从基础到高级应用指南

    我们使用一个名为\\\"Products\\\"的表,包含以下列:ProductID、ProductName、CategoryID、UnitPrice、StockQuantity。 示例展示 productID productName categoryID unitPrice stockQuantity 1 Laptop 1 800 50 2 Smartphone 1 500 100 3 T-shirt 2 20 200 4 Jeans 2 40 150 5 Headphones 1 100 75 1. CASE WHEN-基本使用 查询结果: ProductName UnitPric

    2024年02月09日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包