1

SQL Server에 계산 된 열이있는 테이블이 몇 개 있습니다.Teradata는 SQL Server의 지속 계산 된 열과 같습니다.

Teradata에 이와 동일한 기능이 있습니까? 그렇다면 문법은 무엇이며 어떤 제한이 있습니까? -

나는 앞의 0을 제거하여 일부 계좌 번호를 일치에서 찾고 특정 계산 열

인덱스가이 만들어집니다는 계좌 번호 확인 된 : 테라 데이타 TRIM 기능으로

ACCT_NUM_std AS ISNULL(CONVERT(varchar(39), 
           SUBSTRING(LTRIM(RTRIM([ACCT_NUM])), 
             PATINDEX('%[^0]%', 
                LTRIM(RTRIM([ACCT_NUM])) + '.' 
               ), 
             LEN(LTRIM(RTRIM([ACCT_NUM]))) 
             ) 
          ), 
         '' 
        ) PERSISTED 

을 트리밍 부분이 될 것이다 좀 더 간단 :

ACCT_NUM_std AS COALESCE(CAST(TRIM(LEADING '0' FROM TRIM(BOTH FROM ACCT_NUM))) AS varchar(39)), 
         '' 
         ) 

난 그냥이 정상적인 열 수 있도록 테이블에 삽입 모든 프로세스의 계좌 번호를 표준화하기 위해 코드를 넣을 수있는 것 같아요. 표준화 코드를 한 곳에 모으기 위해이 작업을 수행했습니다.

+0

'계산 된 데이터'와 소스를 사용하여 뷰를 만들 수없는 이유가 있다고 생각합니다. – bogertron

+0

@bogertron 표준화 된 계좌 번호에 참여해야하고 어떤 것들은 필요하지 않기 때문에 실제로 색인을 생성해야합니다. –

+0

그게 좋은 이유입니다 :). 예, Teradata는 이러한 유형의 메커니즘을 지원하지 않습니다. 다음 최고의 옵션, 나는 트리거를 만들거나 당신이 한 일을 할 것이라고 생각합니다 (논리를 재현). 우아한 아무것도 – bogertron

답변

0

Teradata는 테이블에서 계산 된 열을 지원하지 않습니다.

나는 모든 다양한 삽입물에 동일한 코드를 사용하는 전략을 채택하여 불행히도 코드 중복을 초래했습니다.