2009-06-16 33 views

Trả lời

14

Nếu cột nguồn mà bản sắc thuộc về là một số nguyên, không cần để cast nó. Các công trình sau đây chỉ cần giả sử cột nhận dạng là một số nguyên để bắt đầu hoặc nó phù hợp với bên trong một "Int".

DECLARE @NewIdent Int 
SET @NewIdent = SCOPE_IDENTITY() 
+3

Vì vậy, diễn viên được đưa về chăm sóc trong quá trình gán cho NewIdent, nhưng nó vẫn đang truyền. – lowerkey

+0

Nó không làm việc cho tôi, SQL2016, nó chỉ trả về thập phân (18,0) cho tôi, tôi đã phải chuyển đổi nó thành int –

12
SELECT CAST(bigintcolumn AS int) 

(Miễn là bạn biết nó sẽ phù hợp với một số nguyên 32bit)

+0

Đó là những gì tôi nghĩ, tôi không chắc chắn lý do tại sao nó không hoạt động mặc dù. T'was trở về 0. –

2

Chỉ cần đúc như thế này:

select CAST(SCOPE_IDENTITY() as int) 

Và lớp dữ liệu của bạn:

reader.GetInt32(0); 
Các vấn đề liên quan