sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué select SCOPE_IDENTITY() devuelve un decimal en lugar de un número entero?

En SQL Server, la IDENTITY la propiedad se puede asignar a tinyint , smallint , int , bigint , decimal(p, 0) , o numeric(p, 0) columnas Por lo tanto, el SCOPE_IDENTITY la función tiene que devolver un tipo de datos que pueda abarcar todo lo anterior.

Como han dicho las respuestas anteriores, simplemente cámbielo a int en el servidor antes de devolverlo, entonces ADO.NET detectará su tipo como espera.