如何将Scope_Identity()强制转换为Int?

时间:2009-06-16 14:28:37

标签: sql-server scope-identity

因此Scope_Identity()在SQL Server中返回?-Byte数字类型。

这不是很棒。

是否有一种安全的方法可以将它转换为select查询中的int,这样我们就不必在ODBC Wrapper中管理SQL Server的每一个奇思妙想?

3 个答案:

答案 0 :(得分:17)

如果标识所属的源列是Integer,则无需强制转换。以下工作正常,假设标识列是一个Integer开头,或者它适合“Int”。

DECLARE @NewIdent Int
SET @NewIdent = SCOPE_IDENTITY()

答案 1 :(得分:12)

SELECT CAST( bigintcolumn AS int )

(前提是你知道它适合32位整数)

答案 2 :(得分:2)

只需投下:

select CAST(SCOPE_IDENTITY() as int)

您的数据层:

reader.GetInt32(0);