【发布时间】:2018-03-16 19:41:48
【问题描述】:
这是我尝试执行的 WinSQL 查询。
SELECT ezait6 AS "MO No",
vhitno AS "Item No",
vhrefd AS "Finish Date",
vhmaqa AS "Manuf Qty",
vhmaun AS "U/M"
FROM m3edbtest.mwohed,
m3edbtest.cinacc
WHERE ezcono = 1
AND vhcono = ezcono
AND vhrefd >= '20170801'
AND vhrefd <= '20170831'
AND vhmfno = ezait6;
--不同的数据类型
--vhmfno ==> 整数
--ezait6 ==> nchar(8)
运行查询后,出现以下错误:
-- Error : SQL0802 - Data conversion or data mapping error.
我怀疑它靠近不同的数据类型 我的一个表“ezait6”中有一个 nvarchar 列。 那么我应该如何将该值转换为 INT 类型。
【问题讨论】:
-
你可以 vhmfno=CONVERT(INT,ezait6),但是如果 ezait6 不仅有数字数据,它会抛出异常。
-
使用上面的评论建议也可以为每列设置表的别名 put aleas name.column name 可能会解决问题。
-
好像你需要调整你的表定义...(如果你想用 nchar(8) 加入 Integer,那就错了。)
标签: sql sql-server type-conversion sqldatatypes