亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

postgreSql:判斷a 是否 在 a,ab,c中,且 a只匹配a, 匹配ab的話不算

標簽:
Java

[TOC]

今天分享下几个postgreSql的函数<br>
相关主题: 判断a 是否 在 a,ab,c中,且 a只匹配a, 匹配ab的话不算

1,like 一般和 % 用于模糊查询

    select 'a,ab,c'  like '%a%'

结果为:true ,正常

    select 'ab,c'  like '%a%'

结果也为:true ,此次a匹配的是ab上的a,这时就需要注意下<br>
如果两边都加上逗号,就可以了

    select ',a,ab,c,'  like '%,a,%'

结果为:true

    select ',ab,c,'  like '%,a,%'

结果为:false

2,position 函数,返回位置,找不到返回0

select  position('a' in 'a,ab,c')

返回结果:1
同样,这个函数也和like 有同样的问题,也可以用两边都加逗号的方法解决

同时,由于position返回的是下标位置,所以可以用来固定排序,
例如

select 
        *
from   表名
order by   position( 列名 in 'a,ab,c')  asc

3,any(regexp_split_to_array('a,b,c',',')) <br>
其实,这是2个函数,<br>
any() 里面是放数组,用于结果中的某个值,<br>
regexp_split_to_array 是把字符串切分成数组<br>
regexp_split_to_array('a,b,c',',')是把a,b,c以逗号为分割符分割成数组

SELECT  'a' = ANY ( regexp_split_to_array( 'a,b,c', ',' ) )

运行结果为:true

SELECT  'a' = ANY ( regexp_split_to_array( 'ab,c', ',' ) )

运行结果为:false
sql的意思 就是 分割成数组后,再用 any 进行判断该数组是否包含对应的a

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
13
獲贊與收藏
7

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消