我有两个表TXN_COUNT(ACCT_NUM,SRC)和tb_acct(acct_num,source)
TXN_COUNT。 ACCT_NUM具有以下值 -
DDA2323
GOLDE434
VDA-10345
.
.
.
有些行有3行,有些行有4,5行,而有些行有6个初始非数字字符。有些行没有任何非数字字符。我的目标是忽略非数字字符并从tb_acct.acct_num上的TXN_COUNT.ACCT_NUM加入数字部分(tb_acct表具有正确的数字帐号)并从tb_acct表返回正确的acct_num。
加入案例陈述可以做到这一点吗?我正在使用sql server。
答案 0 :(得分:0)
一种方法是使用like
尝试加入:
from TXN_COUNT c join
tb_acct a
on c.acct_num like '%[^0-9]' + cast(a.acct_num as varchar(255))
如果你假设在数字前面总是至少有一个非数字字符,这将有效。
编辑:
如果某些人没有任何先前的非数字字符,您可以执行以下操作:
from TXN_COUNT c join
tb_acct a
on c.acct_num like '%[^0-9]' + cast(a.acct_num as varchar(255)) OR
c.acct_num = cast(a.acct_num as varchar(255)