Partager via


Types de données PHP par défaut

Lorsqu'il récupère des données du serveur, le Pilote SQL Server pour PHP convertit les données au type de données PHP par défaut si aucun autre type de données PHP n'a été spécifié par l'utilisateur. Le tableau suivant indique, pour chaque type de données SQL Server (c'est-à-dire le type des données récupérées du serveur), le type de données PHP par défaut (en d'autres termes, le type de données auquel sont converties les données) ainsi que le codage par défaut utilisé pour les flux et les chaînes. Pour plus d'informations sur la façon de spécifier les types de données des données récupérées du serveur, consultez Procédure : spécifier les types de données PHP.

Type SQL Server Type PHP par défaut Codage par défaut

bigint

String

Caractère 8 bits1

binary

Stream2

Binaire3

bit

Entier

Caractère 8 bits1

char

Chaîne

Caractère 8 bits1

datetime8

Datetime

Non applicable

decimal

Chaîne

Caractère 8 bits1

float

Float

Caractère 8 bits1

image4

Stream2

Binaire3

int

Integer

Caractère 8 bits1

money

String

Caractère 8 bits1

nchar

String

Caractère 8 bits1

numeric

String

Caractère 8 bits1

nvarchar

String

Caractère 8 bits1

nvarchar(MAX)

Stream2

Caractère 8 bits1

ntext5

Stream2

Caractère 8 bits1

real

Float

Caractère 8 bits1

smalldatetime

Datetime

Caractère 8 bits1

smallint

Integer

Caractère 8 bits1

smallmoney

String

Caractère 8 bits1

sql_variant

String

Caractère 8 bits1

text6

Stream2

Caractère 8 bits1

timestamp

String

Caractère 8 bits1

tinyint

Integer

Caractère 8 bits1

UDT

Stream2

Binaire3

uniqueidentifier

String7

Caractère 8 bits1

varbinary

Stream2

Binaire3

varbinary(MAX)

Stream2

Binaire3

varchar

String

Caractère 8 bits1

varchar(MAX)

Stream2

Caractère 8 bits1

variant

Non pris en charge

Non pris en charge

xml

Stream2

Caractère 8 bits1

Le tableau ci-dessous répertorie les nouveaux types de la version 1.1 du Pilote SQL Server pour PHP, permettant la prise en charge des types de données de SQL Server 2008.

Type SQL Server Type PHP par défaut Codage par défaut

date8

Datetime

Non applicable

time8

Datetime

Non applicable

datetime28

Datetime

Non applicable

datetimeoffset8

Datetime

Non applicable

géographie

STREAM

Binaire3

géométrie

STREAM

Binaire3

  1. Les données sont retournées sous forme de caractères 8 bits conformément à la page de codes des paramètres régionaux Windows définis sur le système. Les caractères multioctets ou les caractères qui ne sont pas mappés à cette page de codes sont remplacés par un caractère codé sur un seul octet, le point d'interrogation (?).
  2. Si sqlsrv_fetch_array ou sqlsrv_fetch_object est utilisé pour récupérer des données dont le type PHP par défaut est Stream, les données sont retournées sous forme de chaîne avec le même codage que le flux. Par exemple, si le type SQL Server binary est récupéré en utilisant sqlsrv_fetch_array, le type de données retourné par défaut est une chaîne binaire.
  3. Les données sont retournées sous forme de flux d'octets bruts à partir du serveur, sans codage ni traduction.
  4. Il s'agit d'un type hérité qui est mappé au type varbinary(max).
  5. Il s'agit d'un type hérité qui est mappé au type nvarchar(max).
  6. Il s'agit d'un type hérité qui est mappé au type varchar(max).
  7. Les types UNIQUEIDENTIFIER sont des GUID représentés par l'expression régulière suivante :
    [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-f]{4}-[0-9a-fA-f]{4}-[0-9a-fA-F]{12}
  8. Les types de date et d'heure peuvent être récupérés sous forme de chaînes. Pour plus d'informations, consultez Procédure : récupérer le type de date et d'heure sous forme de chaînes.

Autres nouveaux types de données et nouvelles fonctionnalités de SQL Server 2008

Les nouveaux types de données de SQL Server 2008 qui existent en dehors des colonnes (tels que les paramètres table) ne sont pas pris en charge dans la version 1.1 du Pilote SQL Server pour PHP. Le tableau ci-dessous récapitule la prise en charge par PHP des nouvelles fonctionnalités de SQL Server 2008.

Fonctionnalité Prise en charge par PHP

Paramètre table

Non

Colonnes fragmentées

Partielle

Compression de bits null

Oui

Types CLR volumineux définis par l'utilisateur (UDT)

Oui

Nom principal de service

Non

MERGE

Oui

FILESTREAM

Partielle

Une prise en charge partielle signifie que vous ne pouvez pas créer une requête par programme pour le type de la colonne.

Voir aussi

Référence

sqlsrv_field_metadata

Concepts

Constantes SQLSRV

Autres ressources

Conversion des types de données
Types PHP
Types de données (Transact-SQL)