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 |
참고글
'데이터베이스[DB]' 카테고리의 다른 글
[ORACLE] Windows 시스템 재시작시 Oracle 서비스 자동, 수동 시작/종료 하는 방법 (2) | 2019.07.29 |
---|---|
[MySQL] MySQL에서 ORDER BY로 정렬시 null값 처리 (0) | 2019.06.24 |
[MySQL] LIKE 검색시 와일드카드 (%, _ ) 이스케이프 처리 하여 검색하는 방법 (0) | 2019.06.22 |
[MySQL] 데이터 여러개(여러행) 동시에 입력하는 방법 (0) | 2019.06.09 |
[MySQL] 테이블 백업, 복사하는 방법 (0) | 2019.06.09 |