SELECT
....
SQL.add(' ISNULL(B.USER_FRN,'N') AS USER_FRN');
SQL.add(' FROM BSC A, EMPLOYEE B');
SQL.add(' WHERE A.BSC_JUMIN = :BEGINDATE);
SQL.EndUpdate;
Parameters.ParamByName('BEGINDATE').Value := '2004';
실제 쿼리문에서는 ISNULL 부분을 ISNULL(B.USER_FRN,'N') AS USER_FRN으로 해서 결과를 만들어냈습니다.
그런데 델파이에서 ISNULL(B.USER_FRN,'') AS USER_FRN :N부분을 옆과 같이 주면 에러가 없이 실행이 되는데 'N'으로 주면 에러가 발생하고
''N'', ''''N'''' 으로 주게되면 컴파일시 에러는 안나는데 실행시 BEGINDATE에서 에러가 발생합니다.
:IMSI_N 으로 주고 ParamByName으로 주어봤는데도 에러가 나네요.
어떻게 해야하나요?
답변 드려요
테스트를 계속하다보니 위의 'N'뿐만이 아니라 '' 경우에도 결과가 안나오네요
ISNULL(A.BSC_INCOME, '') AS INCOME <- 이 경우에도 컴파일이나 실행시 에러는 안나는데 INCOME이라는 필드를 생성 못하네요 ㅠ.,ㅠ;
쿼리 분석기에서는 문제없이 잘 된것들인데..
'' <- 이 문제가 되는 것 같기는 한데
'' ''
'''' ''''
:BLANK ParamByName('BLANK').Value
등등 해봤는데 컴파일 혹은 실행시 에러가 발생합니다.
위의 '' '' '''' '''' 경우 아래쪽의 쿼리문의 :DATA 에서 에러가 나네요
|