2009-03-27 7 views
1

Teradata Database 매뉴얼 -SQL 참조 - 함수 및 연산자에서 문자열을 이진으로 변환하는 함수가 없습니다. 문자열을 바이트로 변환해도 작동하지 않습니다.Teradata에서 문자열을 이진으로 변환하는 방법은 무엇입니까?

SELECT C1, C2 FROM 테이블 WHERE C1 < (캐스트 (('QREPI. \ k'|| '00'XC ||'00'XC || '00'XC ||'00'XC || ' 00 ' XC ||'00'XC || '00'XC ||'00'XC || '00'XC ||'00'XC || '00'XC || '00 'XC ||' .. ') 바이트 (24))))); *** 오류 3532 BYTE 데이터와 다른 유형 간의 변환이 올바르지 않습니다. 테라 데이타는 변환을위한 방법을 제공하는 경우 문 # 1, 정보 = 0

아무도 아는 사람?

모든 댓글은 높이 평가됩니다.

답변

0

their blog에 따르면 암시 적 캐스팅 (그러나 명시되지 않음)와 함께 할 수 있어야합니다. 나는 다음과 같은 것을 의미합니다 :

SELECT C1, C2 
    FROM table 
    WHERE C1 < ('QREPI.\k'||'00'XC||'00'XC||'00'XC||'00'XC||'00'XC|| 
    '00'XC||'00'XC||'00'XC||'00'XC||'00'XC||'00'XC||'00'XC||'00'XC||' ..'); 

시도해 보셨습니까?

+0

제안 해 주셔서 감사합니다. 그러나 그것은 효과가 없습니다. SELECT C1 표 C1 <('QREPI. \ K'|| '00'XC ||'00'XC || '00'XC ||'00'XC || '|| 00'XC FROM C2 '00'XC ||'00'XC || '00'XC ||'00'XC || '00'XC ||'00'XC || '00'XC ||' .. '); *** 실패 3640 C1 열의 BYTE 데이터를 다른 유형과 비교하면 이 잘못되었습니다. – freevictor

+0

안녕하세요, 귀하가 보는 블로그는 무엇입니까? 감사! – freevictor

+0

@freevictor - 링크 (내 대답에서 "그들의 블로그"라는 단어)를 클릭하면 거기로 이동합니다. – MarkusQ

2

당신이 필요로하는 모든 리터럴 된 경우는이처럼 문자열의 이진 상응를 얻을 수 있습니다 :

SELECT C1, C2 FROM table 
WHERE C1 < '51524550492e5c6b000000000000000000000000'xb 

그렇지 않으면 의해 테라 데이타 범위 내에서 실시 할 수있다 진수에 테이블에 저장된 데이터에 대한 새로운 UDF 작성. 또는 파일로 내보내고 프로그램으로 변환 한 다음 다시로드 할 수 있습니다.