SQL ON JOIN LIKE(最后3个字符前的%)



我当前正在使用

Left OUTER JOIN TableB ON TableA.ID = TableB.IDNumber

因此ID和IDNumbers是12位数字(例如607120670001并且只有0001改变)。

我只想匹配前8个字符/数字。示例60712067%

数据

TableA              TableB
607120670001     607120670002         (Match)
507120670001     507120670001         (Match)
123456780001     123456790001         (Not Match)

我该怎么做?

使用trunk()函数使最后4位数字等于0000。

Left OUTER JOIN TableB ON trunc(TableA.ID, -4) = trunc(TableB.IDNumber, -4)

或者,如果定义为varchar,则

Left OUTER JOIN TableB
ON TableA.ID LIKE SUBSTR(TableB.IDNumber,0,8) || '%'

最新更新