【发布时间】:2020-08-24 05:31:23
【问题描述】:
我有一个表,其中包含一个名为 PtObjId 的列,其数据类型为 INT。
根据我的理解,查看位于 Microsoft Documentation 此处的线程。我最多只能存储 +/- 2,147,483,647 的值
如果我运行这个查询:
Select top 100 *
from [table]
where [PtObjId] IN (44237141916)
不应该报错吗?
为什么下面这个查询会出错:
select top 100 *
from [table]
where [PtObjID] IN ('44237141916')
但是顶部查询没有出错?
【问题讨论】:
-
可能是隐式转换。你可能会收到
where cast([PtObjId] as bigint) IN (44237141916)。 -
我根本不希望“字符串文字中的整数”执行。
标签: sql sql-server tsql int