【发布时间】:2017-11-13 04:59:39
【问题描述】:
我试过这个查询
insert into Dimension_DDTU (BI_Id, BI_Name, DBI_Id, dBI_Name)
select
ds.BI_ID,
dvo.name,
ds.BI_Id + '' + dm.DBI_Id as DBI_Id,
dso.dname
from
Census.dbo.SMaster sm
full outer join
C.dbo.dis dso on dso.did = sm.did
full outer join
C.dbo.Div dvo on dvo.dsid = dso.diid
full outer join
b.dbo.DMap ds on ds.DOp_Id = dso.did
full outer join
b.dbo.DsMap dm on dm.DOp_Id = sm.did
这里 BI_Id,DBI_Id 数据类型是 nvarchar(50) 因为我存储的值是这样的 (001,002 ...)
和join中的其他列都是int数据类型,除了
BI_Id and DBI_Id
这显示一个错误
字符串或二进制数据将被截断。
【问题讨论】:
-
源列的数据类型是什么?它们也是 varchar 类型的吗?
-
请检查更新 .. 加入的列是 int 数据类型 execpt BI_Id 和 DBI_Id 这些是 varchar(50) 因为我将数据存储在这些列中,例如 001,002 等
-
但是 BI_id 和 DBI_Id 在源和目标上都存在。所以这有点令人困惑。你能分享Dimension_DDTU的完整结构吗
-
@seesharp whts lenght of
DBI_Id字段检查并确认您在其长度内传递的数据?
标签: sql-server nvarchar truncated