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 |
- 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 (?).
- 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.
- Les données sont retournées sous forme de flux d'octets bruts à partir du serveur, sans codage ni traduction.
- Il s'agit d'un type hérité qui est mappé au type varbinary(max).
- Il s'agit d'un type hérité qui est mappé au type nvarchar(max).
- Il s'agit d'un type hérité qui est mappé au type varchar(max).
- 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} - 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
Concepts
Autres ressources
Conversion des types de données
Types PHP
Types de données (Transact-SQL)