当我运行此查询时,出现此错误。
我知道这是不对的,但我确实这么做了,我只是想得到合理的答案。
为什么当我们运行下面的代码时会出现此错误。
DECLARE @tbl TABLE ( id INT, Name VARCHAR(5) );
INSERT INTO @tbl
SELECT 1 AS Id, 142 AS Alphabets
UNION
SELECT 2, 'XYZ'
UNION
SELECT 2, 'ABC'
SELECT * FROM @tbl
Getting error 'Conversion failed when converting the varchar value to data type int'
最佳答案
问题是142。
当你这样写142时,
SQL 认为第二列的这个联合表包含一个 INT。
你必须这样写 '142'
DECLARE @tbl TABLE (id INT, Name VARCHAR(5));
INSERT INTO @tbl
SELECT 1 AS Id, '142' AS Alphabets
UNION
SELECT 2, 'XYZ'
UNION
SELECT 2, 'ABC'
SELECT * FROM @tbl
关于sql-server-2008 - 在sql server 2008 new中将varchar值转换为数据类型int时转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546083/