【发布时间】:2018-04-27 22:42:29
【问题描述】:
我在 SQL Select 查询中遇到“转换”错误。
错误是:
消息 248,第 16 级,状态 1,第 6 行
nvarchar 值 '7000952682' 的转换溢出了一个 int 列。
问题是,我的表中没有 int 列!
这是表结构:
这里是查询:
如果我将@SU 的值设置为NULL,那么它会按预期返回所有行。当该值设置为“7000952682”的字符串值时,我收到错误消息。
为什么 SQL Server 试图将 nvarchar 值转换为 int?
【问题讨论】:
-
看起来 CASE 语句正在尝试将表中 SU 列的值转换为 int。有没有办法确认这一点并强制它保持 nvarchar 值与其他 nvarchar 值进行比较(而不是尝试将它/它们转换为整数)?
标签: sql sql-server tsql