개발공작소
article thumbnail
728x90

 

 

 

쿼리를 사용하면 가끔 홑따옴표(')를 사용해야 할 때까 있다. 보통 문자열을 입력할때 홑따옴표(')로 묶게 되는데

일반적인 상황이라면 그냥 홑따옴표(')로 묶어주면 되지만 그게 안될 때가 있다. 아래의 예를 확인해보자

 

 

SQL에서 홑따옴표(')를 사용하는 방법

 

급한 사람은 그냥 이것만 보도록 하자.

 

--홑따옴표(')로 표현하고 싶은 부분에 홑따옴표(')를 2개 작성해준다
-- '' => ' 와 같다.

--쿼리문
SELECT * FROM MY_TABLE WHERE my_name = '''봄봄''';

--결과문
[SELECT * FROM MY_TABLE WHERE my_name = '봄봄'];

 

 

 

일반적인 상황

select * from my_table where my_id = 'bomebome';

 

일반적이라면 그냥 문자열을 검색할 때 문자열 양옆에 홑따옴표(')로 묶어주면 되지만 만약에

아래와 같은 상황은 어떻게 해야 할까?

 

 

1) value값에 홑따옴표(')가 포함되어 있는 상황

2) 프로시저/함수에서 execute하기 위한 문자열에서 문자열을 검색해야 하는 상황

 

 

 

Value값에 홑따옴표(')가 포함되어 있는 상황

 

서울특별시가 홑따옴표로 감싸져 있음

 

value값인 서울특별시가 홑따옴표(')로 감싸져 있다. 그럼 일반적인 방법으로는 SELECT 해올 수 없다.

아래와 같이 할 수 있다.

 

 

 

샘플쿼리

select * from ctprvn where ctp_kor_nm = '''서울특별시''';
-- 결과 : 서울특별시 조회됨

 

 

execute하기 위한 문자열에서 문자열을 사용해야 하는 경우

 

프로시저/함수에서 EXECUTE 명령어를 실행하기 위해서는 쿼리를 문자열로 작성해야 한다.

그 문자열 안에 문자열을 사용하는 경우에도 홑따옴표(')를 2개 작성해주면 된다. 아래와 같은 경우이다.

 

 

샘플쿼리

EXECUTE ' select * from ctprvn where ctp_kor_nm = ''서울특별시'' ';

 

 

 

 

Postgres같은 경우에는 quote_literal함수를 통해서도 홑따옴표를 사용할 수 있으니 아래를 참조하도록 하자

 

<quote_ident / quote_literal 함수 사용방법 : Postgresql에서 쌍따옴표/홑따옴표 사용하는 방법>

 

 

 

 

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!