请有人,请在这里帮助我;我非常非常困惑。
我使用此查询从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结束。
任何人,请告诉我我做错了什么?
提前多多感谢
答案 0 :(得分:11)
这是正确的事情......
SELECT RIGHT('123456789',4)
或者您可以检查您正在使用的字段的长度
答案 1 :(得分:0)
您可以使用简单的substr函数获取oracle中数字的最后四位数。
select SUBSTR(ssn,(length(ssn)-4),4) from MYTABLE;