0

2 つの別々のテーブルを結合する Teradata で記述したコードがあります。

SELECT
A.*,
B.MTN_1

FROM
TABLE_1 AS A

JOIN
TABLE_2 AS B
ON A.ACCT_NUM=B.ACCT_NUM

WHERE A.MTN=B.MTN_1

唯一の問題は、MTN_1 が999-999-9999 (VARCHAR)フォーマットされていることです。MTN9999999999 (Character Fixed)形式です。結合条件で列を使用できるように、文字固定形式を 999-999-9999 形式に変更するにはどうすればよいですか?

4

1 に答える 1

2

置換機能を使用:

SELECT A.*, B.MTN_1
FROM TABLE_1 AS A
JOIN TABLE_2 AS B ON A.ACCT_NUM=B.ACCT_NUM
WHERE A.MTN=REPLACE(B.MTN_1,"-","")

置換機能を持たない Teradata を使用する場合は、substr と連結演算子を使用できます。

SELECT A.*, B.MTN_1
FROM TABLE_1 AS A
JOIN TABLE_2 AS B ON A.ACCT_NUM=B.ACCT_NUM
WHERE A.MTN=SUBSTR(B.MTN_1,1,3) || SUBSTR(B.MTN_1,5,3) || SUBSTR(B.MTN_1,9,4)
于 2013-03-28T22:55:14.977 に答える