substring사용법 like가 아닌 특별한 문자 위치 검색
조회 1,679 2026-08-18 등록
로그인하면 의견을 남길 수 있습니다.
아직 의견이 없습니다. 첫 의견을 남겨보세요.
게시글
like 아닌것만 호출하는 법
검색할때 like를 사용한다 그러나 해당 문구가 안들어간 내용을 호출할때 사용하는 방법이다 필드면 !like '%검색문구%' -> 이런식으로 사용할것 같지 만 그렇지 않다 select * from tablename where 1 and !(필드명 like '%검색내용%') 검색내용이 없는 레코드를 호출하게 된다
여러게 필드를 조합해서 검색하는 방법
필드1,2,3의 내용을 합친후에 그내용을 검색하는 방법이다 where 1 and concat(필드1,필드2,필드3) like '%검색문구%'
2개의 필드릴 합쳐서 검색하는 방법
필드를 합쳐서 query문을 실행할때 concat()함수를 사용하면된다 concat(cat_code,p_title) like '%B123%' ex) cat_code => AB p_title => 1234 B123 으로 검색할때 위와 같은 형태로 하면된다
특정문자를 제거하고 검색하는 replace()함수
"안녕 하이루" "안녕하이루"이렇게 띄어쓰기를 제고하고 검색하는 방법이다 where 1 and replace(필드명,' ','') like '%안녕하이루%' "010-1111-2222" "1122"내용으로 검색하기위해서 "-"부분을 제거하고 검색하면된다 이때도 동일한 방법으로 검색하면된다 where 1 and replace(필드명,'-','') like '%1122%'
임으로 정렬하기 order by field ( 컬럼명, "순서1", "순서2",......
정렬하는 방법은 여러방법이 있다 그중에 유용한 정렬방법이다 select * from tablename where idx_code in (3,4,1) order by field (idx_code, 1, 4, 3); idx_code 내용을 1,4,3 순으로 정렬하고자 할때 사용하면 편하다
텍스트형을 숫자형으로 변경후에 검색하는 방법
텍스트형을 숫자형으로 변경후에 검색하는 방법 select * from 테이블 where 1 and text_title
2개이상 중복되는 내용을 검색하는 지리문 having
2개이상 중복되는 데이터를 뽑아와야 하는경우가 있다 예를 들어 결제 내역중에 2번이상 결제한 사람을 뽑아오는 경우가 그렇다 select *, count(*) as count1 from 테이블명 where 1 group by 회원아이디필드 having count1 > 2 이렇게 하면 2번이상인 경우를 검색할수 있다
특정문자의 갯수가 몇개인지 알아내는 지리문
내용중에 특정 문자가 몇게 있는지를 알아내는 지리문 select (length(filed1) - length(replace(filed1, 'a', ''))) / length('a') as count from tablename 검색해서 알게된것이지만 정말 머리 잘사용하듯함 전체텍스트갯수-(전체텍스트에서 갯수를 알고자하는 텍스트를 제거한갯수)=>제거된 갯수를알아냄 제거된갯수가 원하는 텍스트 갯수는 아닐수있담 텍스트가 "a" 하나이면 되지만 "aa" 2개일수도 있어 변환시킨 문자의 텍스트갯수로 나눈다 그럼 특정문자의 갯수를 알아낼수 있다
의견 0
로그인하면 의견을 남길 수 있습니다.
아직 의견이 없습니다. 첫 의견을 남겨보세요.