안녕하세요?^^

간만에 프로그램 관련된 글을 쓰는 것 같습니다. 으음.... 오는 사람은 없지만 그래도..


아르바이트를 좀 하고 있는데, MS-SQL과 JSP라는 알 수 없는 조합을 가진 사이트를 살~짝 손대는 일입니다. 뭐 그렇게 어렵거나 중한 임무가 아니라서 설렁설렁 하고 있지요.. :)


제가 DBMS Client는 거의 MySQL GUI TOOLS 5.x 만 사용했습니다. 물론 MS-SQL SMSE도 많이 썼지만, 그래도 DBMS에 직접 관계한 것 보다는 ODBC연결해서 프로그램에서 쿼리를 쏜게 더 많았나봅니다.

하지만 이런 충격적인 사실이 있더군요..

SELECT * FROM A WHERE B LIKE "%HELLO%"

이거 안되는 쿼리입니다... 왤까요?

SELECT * FROM A WHERE B LIKE '%HELLO%'

MS-SQL 클라이언트에서는 작은따옴표(',single quote)만 된다는 겁니다. 이럴수가! 큰따옴표(", double quote)로 묶으면, 대괄호([])로 처리가 됩니다. 그러면서 에러가 나더군요..

워낙 프로그래밍할때 '무조건 큰따옴표로!'라는 그게 있는지라, 저는 거의 웹 언어 딴에서 출력 문장 내에서 따옴표를 출력해야 할 때도 \" 로 처리했지 '로 처리한 적은 없어서요.. 버릇처럼 큰따옴표로 처리했기 때문에, 이해할 수 없는 현상이었습니다. ㅎㅎ

저만 이럴 수도 있겠지만, 혹시 저 같은 분이 계실까봐. ^^

결론은..

Microsoft SQL Server Management Studio Expess 2005 에서는 LIKE의 문장을 묶을 때 큰따옴표를 쓰면 안된다!

입니다.^^
Posted by TY
,