PostgreSQL 문자열이 대상 문자열을 포함하는지 여부를 판단하는 다양한 방법

2490 단어 PostgreSQL문자열
PostgreSQL 판단 문자열에는 다음과 같은 몇 가지 방법이 있습니다.

방식1:position(substring in string):


position (substring instring) 함수: 매개 변수 1: 대상 문자열, 매개 변수 2원 문자열, 대상 문자열을 포함하면 대상 문자열이 한 번에 나타나는 위치를 되돌려줍니다. 반환 값이 0보다 큰지 여부에 따라 대상 문자열을 포함하는지 판단할 수 있습니다.

select position('aa' in 'abcd');
 position 
----------
    0
select position('ab' in 'abcd');
 position 
----------
    1
select position('ab' in 'abcdab');
 position 
----------
    1

방식2:strpos(string,substring)


strpos(string,substring) 함수: 매개 변수 1: 원 문자열, 목표 문자열, 성명 서브열의 위치, 역할은position 함수와 일치합니다.

select position('abcd','aa');
 position 
----------
    0

select position('abcd','ab');
 position 
----------
    1

select position('abcdab','ab');
 position 
----------
    1

방식 3: 정규 표현식 사용


대상 문자열이 t로 되돌아오는 것을 포함하면 f로 되돌아오는 것을 포함하지 않습니다

select 'abcd' ~ 'aa' as result;
result
------
  f 
   
select 'abcd' ~ 'ab' as result;
result
------
  t 
   
select 'abcdab' ~ 'ab' as result;
result
------
  t 

방식 4: 수조의 @> 조작부호를 사용합니다 (포함 여부를 정확하게 판단할 수 없습니다)


select regexp_split_to_array('abcd','') @> array['b','e'] as result;
result
------
 f

select regexp_split_to_array('abcd','') @> array['a','b'] as result;
result
------
 t
다음 예에 유의하십시오.

select regexp_split_to_array('abcd','') @> array['a','a'] as result;
result
----------
 t

select regexp_split_to_array('abcd','') @> array['a','c'] as result;
result
----------
 t

select regexp_split_to_array('abcd','') @> array['a','c','a','c'] as result;
result
----------
 t
수조의 포함 조작부호가 판단할 때 순서와 중복을 막론하고 포함만 하면true로 돌아가 진정으로 사용할 때 주의하는 것을 알 수 있다.
이 글은 PostgreSQL 판단 문자열에 목표 문자열이 포함되어 있는지 확인하는 글입니다. PostgreSQL 판단 문자열 내용과 관련된 글은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기