2017-10-27 2 views
2

Enterprise Architect의 사용자 지정 SQL 쿼리의 경우 IIF 또는 SWITCH를 사용하지만 둘 다 출력에 제한이있는 것 같습니다.SWITCH 출력의 IIF는 길이가 255로 제한됩니다.

이 제한을 무시할 수있는 방법이 있습니까? 제한

select 
switch(true, note) as NoteAfterSwitch, 
Cstr(switch(true, note)) as NoteAfterCstrSwitch, 
switch(true, cstr(note)) as CstrNoteAfterSwitch, 
Cvar(switch(true, note)) as NoteAfterCVarSwitch, 
switch(true, cvar(note)) as CvarNoteAfterSwitch, 
Note 
from t_object as t 
where t.object_id = 115 

열 NoteAfterSwitch 255 개 문자로 제한하여 쿼리 아래 간단한 예로서

. 원래 노트에는 255 자 이상이 있습니다. 원본 크기를 사용하고 싶습니다.

NoteAfterCstrSwitch 및 CstrNoteAfterSwitch에서 CStr을 사용해 보았지만 성공하지 못했습니다.

NoteAfterCvarSwitch 및 CvarNoteAfterSwitch에서 우리는 Cvar를 사용해 보았지만 성공하지 못했습니다.

편집 또한 JET 4.0을 사용하려고했지만 불행히도 성공하지 못했습니다. 그것은 스크램블 출력 결과 :

enter image description here

+0

_ "우리는 CStr과 CVar를 사용해 보았지만 성공하지 못했습니다."_ 정확히 무엇을 시도 했습니까? –

+0

우리는 스위치 내부와 외부에서 시도했습니다. Cstr (스위치 (true, note))은 1 으로 스위치 (true, cstr (주)) 2 – Chaos0

+2

이러한 함수에서 두 인수를 모두 래핑하려고 했습니까? 당신이 시도한 정확한 코드를 게시하는 것이 훨씬 쉽습니다. –

답변

2

우리의 인턴 (케빈)는 Austrian blog에 대한 해결책을 발견했다. IIF 또는 Switch 전에 암시 적 캐스트를 수행했습니다. 그리고는 빈 union 수행 할 수 있습니다 :

SELECT Note as notes 
FROM t_object AS o 
where 1 = 0 
union all 
select switch(true, o.note) 
FROM t_object AS o 
WHERE o.Object_ID = 115 

이 트릭은 다른 암시 원치 않는 캐스팅 작업과 함께 작동합니다.

+0

참고 :이 함수는 템플릿 조각에 사용되지만 다른 사용자 지정 SQL 쿼리에도 사용할 수 있습니다. – Chaos0

+1

독일어가 아닌 오스트리아입니다 .-) –

+0

:-) 죄송합니다. 오스트리아! 나는 그것을 편집 할 것이다. – Chaos0

관련 문제