如何获取ssn的最后4位数字

时间:2011-09-19 20:08:35

标签: sql-server oracle

请有人,请在这里帮助我;我非常非常困惑。

我使用此查询从oracle数据库中获取ssn值:

SELECT
substr(SSN,6)
FROM MYTABLE

我得到了最后4位的正确值

当我将该值插入sql server表时,我得到一个不同的值。

例如,让我们假设我抓到的ssn是123456789,在Oracle中,我得到6789这是正确的。

但是,将值插入sql server表之后 Insert into mytable (ssn) values(ssn),值显示为5678。

我也尝试选择整个ssn为

SELECT
substr(SSN)
FROM MYTABLE

然后尝试插入到sql server db中:

Insert into mytable (ssn) values(right(ssn,4).

我仍然以5678结束。

任何人,请告诉我我做错了什么?

提前多多感谢

2 个答案:

答案 0 :(得分:11)

这是正确的事情......

SELECT RIGHT('123456789',4)

或者您可以检查您正在使用的字段的长度

答案 1 :(得分:0)

您可以使用简单的substr函数获取oracle中数字的最后四位数。

select SUBSTR(ssn,(length(ssn)-4),4) from MYTABLE;