加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – “将数据类型varchar转换为数字时出错.” – 什么

发布时间:2020-12-12 06:29:37 所属栏目:MsSql教程 来源:网络整理
导读:我有一个包含200列的巨大INSERT语句,并且我发现了将数据类型varchar转换为数字的可怕错误.有什么地方我可以看到包含“varchar”值的实际列吗?我知道我可以一次删除其中一个列,直到错误消失,但这非常繁琐. 解决方法 您没有指定SQL Server版本或行数. 对于SQL2
我有一个包含200列的巨大INSERT语句,并且我发现了将数据类型varchar转换为数字的可怕错误.有什么地方我可以看到包含“varchar”值的实际列吗?我知道我可以一次删除其中一个列,直到错误消失,但这非常繁琐.

解决方法

您没有指定SQL Server版本或行数.

对于SQL2005,将OUTPUT子句添加到INSERT可能有助于识别恶意行,因为它将输出插入的行,直到遇到错误,因此下一行是有问题的行

DECLARE @Source TABLE
(
Col1 VARCHAR(10),Col2 VARCHAR(10)
)

INSERT INTO @Source 
SELECT '1','1' UNION ALL
SELECT '2','2' UNION ALL
SELECT '3','3' UNION ALL
SELECT '4A','4' UNION ALL
SELECT '5','5' 


DECLARE @Destination TABLE
(
Col1 INT,Col2 VARCHAR(10)
)

INSERT INTO @Destination 
OUTPUT inserted.*
SELECT * 
FROM @Source

返回

    (5 row(s) affected)
    Col1        Col2
    ----------- ----------
    1           1
    2           2
    3           3
    Msg 245,Level 16,State 1,Line 23
    Conversion failed when converting the varchar value '4A' to data type int.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读