Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi select SCOPE_IDENTITY() renvoie-t-il un nombre décimal au lieu d'un entier ?

Dans SQL Server, le IDENTITY la propriété peut être assignée à tinyint , smallint , int , bigint , decimal(p, 0) , ou numeric(p, 0) Colonnes. Par conséquent, le SCOPE_IDENTITY La fonction doit renvoyer un type de données qui peut englober tout ce qui précède.

Comme les réponses précédentes l'ont dit, il suffit de le convertir en int sur le serveur avant de le renvoyer, ADO.NET détectera son type comme prévu.