SUBSTRING (value FROM n FOR len) 는 파이어버드에서 쓰는 함수인줄 알고 있는데
인터베이스에는 사용자 정의 함수를 등록해줘야합니다.
DECLARE EXTERNAL FUNCTION SUBSTR
CSTRING(80) CHARACTER SET NONE, SMALLINT, SMALLINT
RETURNS CSTRING(80) CHARACTER SET NONE FREE_IT
ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';
위 구문이 substr이라는 함수를 등록하는 구문이구요
substr(value,n,len) 형식으로 사용합니다.
안종수 님이 쓰신 글 :
: 말씀하신대로 실행해 봤습니다만.... 잘되질 않네요...
:
:
:
: 오대우 님이 쓰신 글 :
: : 안종수 님이 쓰신 글 :
: : : SQL에서는 잘 실행되었는데 인터베이스에서는 안되네요..
: : : 계속 에러만 나고 독촉은 계속되고. 좀 살려주세요..--;
: : : 아래와 같은 문장이 인터베이스에서는 어떻게 바뀌어야 하나요?
: : : Close;
: : : SQL.Clear;
: : : SQL.Add('select substring(convert(varchar(12), NotifyNo, 114), 1,4) as YY');
: : : SQL.Add(',substring(convert(varchar(12), NotifyNo, 114), 5, 2) as MM,Payment,State ');
: : : SQL.Add(',count(*) as cnt1, sum(Penarty) as cnt2,Sum(GamacMoney) as cnt3 ');
: : : SQL.Add('from TblMaster Where ');
: : : SQL.Add(WhereStr);
: : : SQL.Add(' group by substring(convert(varchar(12), notifyNo, 114), 1,4) ');
: : : SQL.Add(',substring(convert(varchar(12), NotifyNo, 114), 5, 2), Payment,State');
: : : SQL.Add(' Order by substring(convert(varchar(12), notifyNo, 114), 1,4) ');
: : : SQL.Add(',substring(convert(varchar(12), NotifyNo, 114), 5, 2), Payment,State');
: : : Open;
: : 저도 substring 땜시 고생이 많았습니다..
: : SUBSTRING (value FROM n FOR len)
: : 위 형식이라는 군요..
: : 참고하시길..
|