【发布时间】:2020-10-02 16:31:53
【问题描述】:
我的 column_x 包含 20 位或 22 位数字,column_Y 包含 22 位数字。
如果 column_x 的数字是 20 位长,我想加入 column_Y,只有 column_Y 中第二个数字不等于 0 的数字。 否则(当column_x号码为22位时),我想正常加入column_x和column_Y的号码。
如何做到这一点?
例如,
如果列x具有数字00000000000579701673(20位数)和0000000000095782131313(22位数),并且列y有数字9900000000000579701673(22位)和0000000000000957821317(22位数)(22位数),我想从Column_x加入00000000000579701673(20位数)来自 column_Y 的 9900000000000579701673(22 位)和来自 column_x 的 0000000000000957821317(22 位)和来自 column_Y 的 0000000000000957821317(22 位)
如果 column_X 是 20 位数字,则前缀是从 '01' 到 '99' 的任意位置 我正在使用 teradata sql 辅助
【问题讨论】:
-
那么如果 X 是 20 位数字需要附加 99 前缀吗?
-
@June7 如果 20 位前缀是从 '01' 到 '99' 的任意位置,谢谢!
-
请通过编辑而非 cmets 进行澄清。请展示你能做什么。 How to Askhelp centerminimal reproducible example
-
@philipxy 完成,谢谢!
-
如果 X 列有 22 位,前两位是否总是相同的
00?那么连接将只是on right(column_x, 20)= right(column_y, 20),实际上忽略了前两个字符。
标签: sql join conditional-statements teradata criteria