Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que select SCOPE_IDENTITY() retorna um decimal em vez de um inteiro?


No SQL Server, a IDENTITY propriedade pode ser atribuída a tinyint , smallint , int , bigint , decimal(p, 0) , ou numeric(p, 0) colunas. Portanto, o SCOPE_IDENTITY função tem que retornar um tipo de dados que pode abranger todos os itens acima.

Como as respostas anteriores disseram, basta convertê-lo para int no servidor antes de retorná-lo, o ADO.NET detectará seu tipo conforme o esperado.