MySQL 작은따옴표(') 를 검색 조건에 포함 시키는 방법
SQL 구문에서 문자열 데이터를 표현할때는 작은따옴표인 ' 를 데이터의 시작과 끝에 감싸 표기합니다.
SELECT * FROM notice_board WHERE greeting = 'I AM OK';
cs

그렇다면 이런 상황에서 I'M OK 와 같이 문자 자체에 작은 따옴표가 포함되어 있는 경우는 어떻게 해야할까요? 만약 아래와 같이 작은 따옴표를 넣어 검색한다면 문법 오류가 발생할것입니다.
SELECT * FROM notice_board WHERE greeting = 'I'AM OK';
cs

다음과 같이 AM OK 부분이 문법상의 오류가 있다고 에러메시지가 뙇 하고 떨어지게 됩니다. 문자열 데이터를 표현하기 위해서는 작은 따옴표를 양쪽으로 감싸주어야 하는데 이경우  'I' 부분까지가 조건으로 판단되어 그 뒤의 AM OK' 는 문법상 성립이 안되는 부분으로 남게 되기 때문입니다. 
Error Code: 1064. You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near 'AM OK'' at line 1
cs


이럴때는 다음과 같이 작은 따옴표를 한 개 더 붙여주면 간단히 해결 됩니다.
SELECT * FROM notice_board WHERE greeting = 'I''AM OK';
cs

이밖에도 역슬래시를 붙여 해결하는 방법도 있습니다.
SELECT * FROM notice_board WHERE greeting = 'I\'AM OK';
cs


참고글
블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!