postgresql 특정 언어만 선택하기 0 3 1,351

by 커피는스벅 [SQL Query] posgresql 함수 query [2017.10.20 09:29:33]


쿼리로 DB 정제 중인데 특정 언어로 되어 있는 부분만 가지고 오려고 하거든요

근데 당최 어떻게 손을 대야할 지 감이 안잡혀서...질문 올립니다.

같은 내용인데 영어로 한 번 더 들어가 있어서 한글만 남기고 나머지 행은 삭제를 하려고 합니다.

의미없는 컬럼 과일
사과
apple
오렌지
orange

예시로 테이블이 위와 같이 저렇게 되어있는데 다른언어로 된 행은 내용에 상관 없이 삭제하려고 합니다.

의미없는 컬럼 과일
사과
오렌지

이렇게 만드는 것이 목표이고

특정 컬럼(여기선 과일) 에서 한국말이 아닌 데이터가 포함된 행을 삭제하는 쿼리입니다.

함수로 가능한지 잘 모르겠지만 ㅠㅠ 도움 부탁드립니다!

by 마농 [2017.10.20 09:34:16]

특정 언어라고 질문하셔서 헷갈리네요?
영어와 한글중에 한글을 선택한다면 모를까?
여러가지 언어 중에 특정 언어를 선택하는 것은 쉽지는 않을 듯 한데요?


by 주킹 [2017.10.20 09:40:44]

with t as
(
 select '가' col1, '사과'as 과일
 union all
 select '나','apple'
 union all
 select '다','오렌지'
 union all
 select '라','orange'
)
select * from t
where 과일 similar to '%[가-힣]%';

이건 영문이랑 한글로만 들갔을 경우에만 가능하고 섞인건 따로 만들어야는데 이거면 될듯하네요 질문상은


by jkson [2017.10.20 09:43:24]

--알파벳만 선택
select * from 테이블
where a.s.c.i.i(substr(과일,1,1)) between 65 and 122


--알파벳만 삭제
delete from 테이블
where a.s.c.i.i(substr(과일,1,1)) between 65 and 122

 

아스키라는 글자가 있으니까 댓글 등록이 안 되어서 중간에 쩜 넣었어요ㅠ

아.. 데이터 삭제가 아니라 조회 결과에서만 삭제인 건가요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입