我有一个复杂的 SQL 语句,我需要根据连接匹配两个表。复杂查询的初始部分有一个位置编号,该位置编号作为 Smallint 存储在表中,第二个表的存储编号存储为 CHAR(4)。我已经能够像这样将 smallint 转换为 char(4) :
CAST(STR_NBR AS CHAR(4)) AND LOCN_NBR
问题在于,由于 Smallint 抑制了前导 '0',连接从 LEFT OUTER JOIN 的右侧返回空值。
例子
Table set A(Smallint) Table Set B (Char(4))
| 96 | | 096 |
| 97 | | 097 |
| 99 | | 099 |
| 100 | <- These return -> | 100 |
| 101 | <- These return -> | 101 |
| 102 | <- These return -> | 102 |
我需要添加 make 以便它们都返回,但是由于它在 join 语句中,您如何在开头和某些条件下而不是在其他条件下附加零?