2 votes

Type d'INT avec taille maximale dans une base de données SQL Server

Comment peut-on indiquer une taille maximale pour le type int , integer o number dans une base de données SQL Server ?

Par exemple, avec varchar nous pouvons indiquer la taille maximale : varchar(40) .
Quel est l'équivalent des chiffres ?

5voto

marc_s Points 321990

Vous définissez un CHECK contrainte :

CREATE TABLE dbo.YourTable
(
   SomeIntColumn INT
      CONSTRAINT CHK_YourTable_SomeIntColumn 
        CHECK (SomeIntColumn >= 0 AND SomeIntColumn <= 9999),
   .......
)

Vous pouvez définir un gamme de valeurs possibles pour votre colonne numérique de cette façon. Avec cette CHECK dans mon échantillon, vous pouvez limiter votre contrainte de INT jusqu'à un maximum de 4 chiffres.

Mise à jour

Pour le INT de style de données, vous ne peut pas définir un nombre de chiffres dans SQL Server directement - il n'y a aucune INT(4) ou autre chose du genre. Vous devrez utiliser un CHECK contrainte comme je l'ai montré.

Les types decimal (et numeric ) prennent en charge la précision et l'échelle :

decimal(p, s)

donde p est la précision (nombre total de chiffres) et s est l'échelle (nombre de chiffres après la virgule).

Donc un decimal(10,4) vous donne 10 chiffres au total, 4 dont les valeurs se trouvent après la virgule, ce qui permet d'obtenir des valeurs telles que

     0.0000
123456.1234

et ainsi de suite

1voto

Gian Acuna Points 1033

Ils sont déjà définis par le type que vous utilisez, pour bigint, ce serait 8 octets. Voir référence

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X