Type de données SQL Server INT

Utilisez le type de données SQL Server INT pour définir des colonnes, des variables et des paramètres stockant des nombres entiers.

Le type de données INT stocke un nombre compris entre -2 147 483 648 et 2 147 483 647. Si vous devez stocker une valeur entière plus grande, envisagez d’utiliser BIGINT.

En plus d’être utilisé pour les nombres, INT est également utilisé pour définir des clés primaires et étrangères. Utilisez-le pour créer différents types de colonnes liées à l’ID:

Conversion des valeurs INT

Lors de la conversion d’entiers en caractères, si l’entier a plus de chiffres que défini dans le type CHAR, un astérisque (*) est affiché. Essayez ce SQL pour voir l’effet:

SÉLECTIONNEZ CAST(123456 COMME char(6)) COMME FitsInChar, CAST(1234567 COMME char(6)) COMME TooBig;
SELECT CAST(123456 AS char(6)) AS FitsInChar , CAST(1234567 AS char(6)) AS TooBig; 

Lors de l’arithmétique, SQL Server convertit les valeurs constantes entières de type DÉCIMAL lorsque les valeurs sont supérieures à celles autorisées pour INT.

SÉLECTIONNEZ 2147483647/2 COMME résultat entier, 2147483648/2 COMME résultat décimal;
SELECT 2147483647 / 2 AS IntegerResult , 2147483648 / 2 AS DecimalResult;

Avis 2147483648, bien que même lorsqu’il est divisé par deux, et que la compensation tombe dans les limites de INT, résulte en un type DÉCIMAL.

À première vue, cela n’a pas de sens, car le résultat « correspond” clairement à un type INT; cependant, la valeur constante est suspecte. Il est converti en DÉCIMAL avant l’opération, contraignant ainsi le type du résultat en DÉCIMAL.

Les exemples utilisant SQL INT

Utilisent des opérateurs arithmétiques, tels que +, -, * et / pour travailler avec INT.

SÉLECTIONNEZ Nom, Numéro de produit, DaysToManufacture, DaysToManufacture/2 COMME Half-Daystomanufacture, DaysToManufacture *2 COMME DoubleDaysToManuFacture DE LA Production.Produit OÙ DaysToManufacture > 1;
SELECT Name , ProductNumber , DaysToManufacture , DaysToManufacture / 2 AS HalfDaysToManuFacture , DaysToManufacture * 2 AS DoubleDaysToManuFacture FROM Production.Product WHERE DaysToManufacture > 1;

Puisque les opérandes, c’est-à-dire la colonne et le nombre, sont des entiers, le résultat est également un entier.

Related Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *