SQL 在多字段主键连接中连接字段信息

SQL concatenate field info in multifield primary key join

我有两个总帐数据库,我想在一个多字段主键上连接在一起。

A.FiscalYear + A.Period + A.AcntNo  =   B.FiscalYear + B.Period + B.AcntNo

我的问题是,在 Table A 中,FiscalYear 是 4 位数的年份,而在 Table B 中是 2 位数的年份。我无法直接修改数据。

我有什么选择可以将 2 位数年份转换为 4 位数年份以便我可以将表格连接在一起?

如果您可以放弃前 2 位数字,那么您可以使用 SUBSTRING 功能

SUBSTRING(A.FiscalYear,2,2) + A.Period + A.AcntNo  =  B.FiscalYear + B.Period + B.AcntNo

你会想做类似的事情

select
  *
from
  ledger_a a

  inner join ledger_b b on
    b.FiscalYear = a.FiscalYear and
    b.Period = 2000 + a.Period and
    b.AcntNo = a.AcntNo

这可以根据您的需要进行更改。请注意,在连接子句中修改某些内容时,我不会使用精简索引。