Recherche…


Introduction

Cette section présente les types de données que SQL Server peut utiliser, notamment leur plage de données, leur longueur et leurs limites (le cas échéant).

Numérique exacte

Il existe deux classes de base de types de données numériques exactes: Integer et Fixed Precision and Scale .

Types de données entiers

  • bit
  • tinyint
  • smallint
  • int
  • bigint

Les entiers sont des valeurs numériques qui ne contiennent jamais de fraction, et utilisent toujours une quantité de stockage fixe. La plage et les tailles de stockage des types de données entiers sont présentées dans ce tableau:

Type de données Gamme Espace de rangement
bit 0 ou 1 1 bit **
tinyint 0 à 255 1 octet
smallint -2 ^ 15 (-32 768) à 2 ^ 15-1 (32 767) 2 octets
int -2 ^ 31 (-2 147 443 648) à 2 ^ 31-1 (2 147 483 647) 4 octets
bigint -2 ^ 63 (-9 223 372 036 854 775 808) à 2 ^ 63-1 (9 223 372 036 854 775 807) 8 octets

Précision fixe et types de données d'échelle

  • numérique
  • décimal
  • petit argent
  • argent

Ces types de données sont utiles pour représenter les nombres avec précision. Tant que les valeurs peuvent tenir dans la plage des valeurs pouvant être stockées dans le type de données, la valeur n'aura pas de problèmes d'arrondi. Ceci est utile pour tout calcul financier, où les erreurs d'arrondi entraîneront une folie clinique pour les comptables.

Notez que decimal et numeric sont des synonymes pour le même type de données.

Type de données Gamme Espace de rangement
Decimal [(p [, s])] ou Numeric [(p [, s])] -10 ^ 38 + 1 à 10 ^ 38 - 1 Voir tableau de précision

Lors de la définition d'un type de données décimal ou numérique , vous devrez peut-être spécifier la précision [p] et l'échelle [s].

La précision est le nombre de chiffres pouvant être stockés. Par exemple, si vous deviez stocker des valeurs entre 1 et 999, vous auriez besoin d'une précision de 3 (pour contenir les trois chiffres de 100). Si vous ne spécifiez pas de précision, la précision par défaut est 18.

L'échelle est le nombre de chiffres après le point décimal. Si vous avez besoin de stocker un nombre compris entre 0,00 et 999,99, vous devez spécifier une précision de 5 (cinq chiffres) et une échelle de 2 (deux chiffres après le point décimal). Vous devez spécifier une précision pour spécifier une échelle. L'échelle par défaut est zéro.

La précision d'un type de données décimal ou numérique définit le nombre d'octets requis pour stocker la valeur, comme indiqué ci-dessous:

Tableau de précision

Précision Octets de stockage
1 - 9 5
10-19 9
20-28 13
29-38 17

Types de données fixes monétaires

Ces types de données sont destinés spécifiquement à la comptabilité et à d'autres données monétaires. Ces types ont une échelle fixe de 4 - vous verrez toujours quatre chiffres après la décimale. Pour la plupart des systèmes fonctionnant avec la plupart des devises, utiliser une valeur numérique avec une échelle de 2 suffira. Notez qu'aucune information sur le type de devise représenté n'est enregistrée avec la valeur.

Type de données Gamme Espace de rangement
argent -922 337 203 685 477,5808 à 922 337 203 685 477,5807 8 octets
petit argent -214.748.3648 à 214.748.3647 4 octets

Numérique approximative

  • float [( n )]
  • réal

Ces types de données sont utilisés pour stocker des nombres à virgule flottante. Étant donné que ces types ne sont destinés qu'à contenir des valeurs numériques approximatives, celles-ci ne doivent pas être utilisées dans les cas où une erreur d'arrondi est inacceptable. Cependant, si vous avez besoin de traiter des nombres très importants ou des nombres avec un nombre indéterminé de chiffres après la décimale, cela peut être votre meilleure option.

Type de données Gamme Taille
flotte -1,79E + 308 à -2,23E-308, 0 et 2,23E-308 à 1,79E + 308 dépend de n dans le tableau ci-dessous
réal -3,40E + 38 à -1,18E - 38, 0 et 1,18E - 38 à 3,40E + 38 4 octets

n tableau des valeurs pour les nombres flottants . Si aucune valeur n'est spécifiée dans la déclaration du flottant, la valeur par défaut de 53 sera utilisée. Notez que float (24) est l'équivalent d'une valeur réelle .

n valeur Précision Taille
1-24 7 chiffres 4 octets
25-53 15 chiffres 8 octets

Date et l'heure

Ces types sont dans toutes les versions de SQL Server

  • datetime
  • petit temps

Ces types sont dans toutes les versions de SQL Server après SQL Server 2012

  • rendez-vous amoureux
  • datetimeoffset
  • datetime2
  • temps

Chaînes de caractères

  • carboniser
  • varchar
  • texte

Chaînes de caractères Unicode

  • nchar
  • nvarchar
  • ntext

Cordes binaires

  • binaire
  • varbinary
  • image

Autres types de données

  • le curseur
  • horodatage
  • hierarchyid
  • identifiant unique
  • sql_variant
  • xml
  • table
  • Types spatiaux


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow