将字符串数据插入varchar列会导致无效的强制转换为int

扎里菲斯

我在使用SQL Server 2008 R2时遇到了一个奇怪的情况。我的一张大桌子上有太多列(超过100列)。其中两列定义为varchar,但是通过INSERT-VALUES语句将文本数据插入这些列会生成无效的强制转换异常。

CREATE TABLE TooManyColumns (
    ...
    , column_A varchar(20)
    , column_B varchar(10)
    , ...
)

INSERT INTO TooManyColumns (..., column_A, column_B, ...)
    VALUES (..., 'text-A1', 'text-B1', ...)
        , (..., 'text-A2', 'text-B2', ...)

导致这些错误

Conversion failed when converting the varchar value 'text-A1' to data type int.
Conversion failed when converting the varchar value 'text-B1' to data type int.
Conversion failed when converting the varchar value 'text-A2' to data type int.
Conversion failed when converting the varchar value 'text-B2' to data type int.

我已经对照列的位置验证了值的位置。此外,将文本值更改为数字或隐式转换为数字的文本,可以修复错误并将数字值插入所需的列。

我应该找些什么来解决这个问题?

我已经在两列中查找了约束,但找不到任何约束-因此,我在错误的位置查找了它们,或者它们不存在。SSMS对象浏览器指出这两列定义为varchar(20)varchar(10)使用SSMS工具将表的模式编写为查询窗口的脚本也可以确认这一点。

还有什么我应该检查的吗?

还有拉罗什

您的问题是“我该找什么来解决这个问题?” 因此,这可以回答该问题,但不一定能解决您的问题。

我会这样做:

 select * into TooManyColumns_2 from 
TooManyColumns

truncate table TooManyColumns

update TooManyColumns_2
set --your troubled columns with text data that is not convetable to int


insert TooManyColumns select * from TooManyColumns_2

如果插入选择成功,则问题很可能是您对插入的列进行排序,因为这证明这些列可以获取文本数据。如果失败,请报告以获取更多故障排除提示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串强制转换为int导致值更改

来自分类Dev

将字符串转换为JSON会导致问题

来自分类Dev

来自NODEJS的MongoDB插入将值的数据类型从int转换为字符串

来自分类Dev

Int 值在数据库中存储为空字符串,尝试将新值设置为旧值会导致“无法将字符串转换为 int”问题

来自分类Dev

将Varchar从变量字符串转换为Float并插入SQL Server?

来自分类Dev

将字符串转换为列 - 数据框

来自分类Dev

将 int[][] 转换为字符串

来自分类Dev

使用子字符串转换将数据类型varchar转换为数值时出错

来自分类Dev

将字符串数组转换为int数组时,“指定的转换无效”

来自分类Dev

将十六进制字符串转换为 ASCII 值的函数会导致段错误

来自分类Dev

Pandas.read_csv(,parse_dates,)强制将一列float数据转换为字符串

来自分类Dev

Android偏好设置错误,“无法将字符串强制转换为int”

来自分类Dev

将列转换为字符串

来自分类Dev

Swift-将nil核心数据字符串强制转换为可选值

来自分类Dev

将字符串从xml强制转换为类对象

来自分类Dev

将类型streamreader强制转换为字符串

来自分类Dev

将字符串值从UILabel转换为Int会返回nil。Swift 2 / Xcode 7

来自分类Dev

将无效的JSON字符串转换为JSON

来自分类Dev

将字符串转换为Double在VB中无效

来自分类Dev

将无效的JSON字符串转换为JSON

来自分类Dev

将字符串“”转换为类型“ Integer”无效

来自分类Dev

查询从int数组转换的字符串,将导致Conversion数据类型smallint错误

来自分类Dev

如果为负,则将字符串转换为stack-int-value会导致奇怪的值

来自分类Dev

将字符串中的日期转换为日期对象以插入数据库

来自分类Dev

尝试将Arraylist <LatLng>转换为字符串,然后再插入数据库

来自分类Dev

MySQL将列数据类型从VARCHAR转换为INT

来自分类Dev

不使用int()将字符串转换为Int

来自分类Dev

将int字符串转换为int数组

来自分类Dev

将int的字符串转换为int的数组

Related 相关文章

  1. 1

    将字符串强制转换为int导致值更改

  2. 2

    将字符串转换为JSON会导致问题

  3. 3

    来自NODEJS的MongoDB插入将值的数据类型从int转换为字符串

  4. 4

    Int 值在数据库中存储为空字符串,尝试将新值设置为旧值会导致“无法将字符串转换为 int”问题

  5. 5

    将Varchar从变量字符串转换为Float并插入SQL Server?

  6. 6

    将字符串转换为列 - 数据框

  7. 7

    将 int[][] 转换为字符串

  8. 8

    使用子字符串转换将数据类型varchar转换为数值时出错

  9. 9

    将字符串数组转换为int数组时,“指定的转换无效”

  10. 10

    将十六进制字符串转换为 ASCII 值的函数会导致段错误

  11. 11

    Pandas.read_csv(,parse_dates,)强制将一列float数据转换为字符串

  12. 12

    Android偏好设置错误,“无法将字符串强制转换为int”

  13. 13

    将列转换为字符串

  14. 14

    Swift-将nil核心数据字符串强制转换为可选值

  15. 15

    将字符串从xml强制转换为类对象

  16. 16

    将类型streamreader强制转换为字符串

  17. 17

    将字符串值从UILabel转换为Int会返回nil。Swift 2 / Xcode 7

  18. 18

    将无效的JSON字符串转换为JSON

  19. 19

    将字符串转换为Double在VB中无效

  20. 20

    将无效的JSON字符串转换为JSON

  21. 21

    将字符串“”转换为类型“ Integer”无效

  22. 22

    查询从int数组转换的字符串,将导致Conversion数据类型smallint错误

  23. 23

    如果为负,则将字符串转换为stack-int-value会导致奇怪的值

  24. 24

    将字符串中的日期转换为日期对象以插入数据库

  25. 25

    尝试将Arraylist <LatLng>转换为字符串,然后再插入数据库

  26. 26

    MySQL将列数据类型从VARCHAR转换为INT

  27. 27

    不使用int()将字符串转换为Int

  28. 28

    将int字符串转换为int数组

  29. 29

    将int的字符串转换为int的数组

热门标签

归档