메모

sql 쿼리문 안에 작은 따옴표(홑따옴표)에 대해...펌

맘편한넘 2012. 2. 27. 22:27

2011/12/29 22:33

복사 http://blog.naver.com/yswon72/146994782

[오라클] SQL - select문에서 작은 따옴표 쓰임에 대해

 

Head First  SQL 책에 있는 select문에서 작은 따옴표 쓰임에 관한 내용을 보다가 이 내용을 참고로 다시 정리해 봅니다.

 

1. 데이터 타입에서 쓰임새

올바른 where절을 작성하려면, 각 데이터 타입의 형식이 맞아야 한다.

주요 데이터 타입을 어떻게 나타내는지 살펴본다.

 작은 따옴표 사용

 작은 따옴표 미사용

 CHAR

 DEC

 VARCHAR

 INT

 DATE

 

 DATETIME, TIME or TIMESTAMP

 

 BLOB

 

 

예제) where 절에서 잘못 사용되는 예제

예제문

 해당 데이터 타입

 결과 설명

 where main = soda

 varchar

오류, varchar 타입에는 작은 따옴표가 필요.

 where secode = "orange juice"

 varchar

오류, 에러는 나지 않지만 결과는 없음.

큰 따옴표가 아닌 작은 따옴표를 사용해야 함.

 where amount2 < '1'

 DEC

DEC타입 변수는 작은 따옴표가 필요없어서

동작하지 않아야 하나 동작은 함.

 where amount1 = '1.5'

 DEC

# 대부분의 데이터베이스 시스템은 스스로 알아서 처리하는 부분도 있어서 마지막 두 개의 쿼리는 동작한다. 따옴표가 문자열을 의미하지만 데이터베이스 시스템이 따옴표를 무시하고 DEC이나 INT타입으로 처리한다. 쿼리가 올바르지는 않지만 데이터베이스 시스템이 그 정도는 용서해 준다.

 

2. 작은 따옴표를 포함한 데이터 삽입하기

작은 따옴표를 포함하고 있는 varchar, char, blob를 추가할 때는 작은 따옴표가 문자열을 끝내는 것이 아니고 문자열의 일부임을 명시해야 한다.

 

 가. 작은 따옴표를 백슬래시와 함께 사용하는 방법

      백슬래시 문자를 문자열 안의 작은 따옴표 앞에 추가한다.

      예) 'Grover \'s Mill'  --> \ : 백슬래시 추가

 나. 작은 따옴표를 하나 더 사용하는 방법

      작은 따옴표 하나를 더 넣는 것이다.

      예) 'Grover ''s Mill'  --> ' : 작은따옴표 추가