0

我有一些我在 Teradata 中编写的代码,它们连接了 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=B.MTN_1

唯一的问题是,MTN_1 是999-999-9999 (VARCHAR)格式。MTN 是9999999999 (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 回答