SELECT TOP 1 ISNULL(BARCODE,'-') BARCODE FROM ( SELECT BARCODE FROM TB_PERSON WHERE DELETION = '0' AND PRSNTYPE = '1' <DYNAMIC> <ISNOTEMPTY property="IDENTINO" prepend="AND"> IDENTINO = #IDENTINO# </ISNOTEMPTY> <ISNOTEMPTY property="PASSPORT" prepend="AND"> PASSPORT = #PASSPORT# </ISNOTEMPTY> </DYNAMIC> <![CDATA[ AND ONESCOMP = #SES@ONESCOMP# AND FACTORY = #SES@FACTORY# AND ( EXPDATE >= CONVERT(CHAR(8),GETDATE(),112) OR ISNULL(EXPDATE ,'') = '' ) UNION SELECT '-' BARCODE ) A ORDER BY BARCODE DESC ]]>잘보면 CDATA 쿼리안에 비교 연산자가 포함되어있다
xml 에서 < 와 > 의 개행문자에대한 처리시 오류를 방지하기 위해서 CDATA 를 사용하는 것이라고 한다