使用Join SQL删除Varchar中的最后一个数字

时间:2018-10-23 15:23:11

标签: sql sql-server database

所以我目前正在两个表之间进行内部联接,但是我遇到的问题是数据不匹配:

Table 1                       Table 2

1762320066868                 17623200668681

因此,基本上,表1具有正确的数据,但表2产生了一个额外的数字,即1。

我的代码是:

and table1.primarydocnbr = table2.primarydocnbr

我如何更改它,以便table2在末尾删除多余的1?

2 个答案:

答案 0 :(得分:1)

如果primarydocnbr是固定的,则可以使用left()

and table1.primarydocnbr = left(table2.primarydocnbr, 13)

您也可以使用len()代替固定值:

and table1.primarydocnbr = left(table2.primarydocnbr, len(table1.primarydocnbr))

答案 1 :(得分:1)

使用SUBSTRING()

and table1.primarydocnbr = SUBSTRING(table2.primarydocnbr, 1, 13)

参考:https://www.w3schools.com/sql/func_sqlserver_substring.asp