Share via


PHP-Standarddatentypen

PHP-Treiber herunterladen

Wenn vom Benutzer kein PHP-Datentyp angegeben wurde, werden die Daten beim Abrufen vom Server von Microsoft-Treiber für PHP für SQL Server in einen PHP-Standarddatentyp konvertiert.

Wenn Daten mit dem Treiber PDO_SQLSRV zurückgegeben werden, wird als Datentyp entweder „int“ oder „string“ verwendet.

Im weiteren Verlauf dieses Themas werden die Standarddatentypen erläutert, die den SQLSRV-Treiber verwenden.

Die folgende Tabelle enthält den SQL Server-Datentyp (der Datentyp, der vom Server abgerufen wird), den PHP-Standarddatentyp (der Datentyp, in den Daten konvertiert werden) und die Standardcodierung für Datenströme und Zeichenfolgen. Weitere Informationen dazu, wie Sie Datentypen beim Abrufen von Daten vom Server festlegen, finden Sie unter How to: Specify PHP Data Types.

SQL Server-Typ PHP-Standardtyp Standardcodierung
BIGINT String 8-Bit-Zeichen1
BINARY Datenstrom2 Binär3
bit Integer 8-Bit-Zeichen1
char String 8-Bit-Zeichen1
Datum4 Datetime Nicht zutreffend
datetime4 Datetime Nicht zutreffend
datetime24 Datetime Nicht zutreffend
datetimeoffset4 Datetime Nicht zutreffend
Decimal String 8-Bit-Zeichen1
float Float 8-Bit-Zeichen1
geography Datenstrom Binär3
Geometrie Datenstrom Binär3
image5 Datenstrom2 Binär3
INT Integer 8-Bit-Zeichen1
money String 8-Bit-Zeichen1
NCHAR String 8-Bit-Zeichen1
NUMERIC String 8-Bit-Zeichen1
NVARCHAR String 8-Bit-Zeichen1
nvarchar(Max) Datenstrom2 8-Bit-Zeichen1
ntext6 Datenstrom2 8-Bit-Zeichen1
real Float 8-Bit-Zeichen1
smalldatetime Datetime 8-Bit-Zeichen1
SMALLINT Integer 8-Bit-Zeichen1
SMALLMONEY String 8-Bit-Zeichen1
sql_variant7 String 8-Bit-Zeichen1
text8 Datenstrom2 8-Bit-Zeichen1
time4 Datetime Nicht zutreffend
timestamp String 8-Bit-Zeichen1
TINYINT Integer 8-Bit-Zeichen1
UDT Datenstrom2 Binär3
UNIQUEIDENTIFIER String9 8-Bit-Zeichen1
varbinary Datenstrom2 Binär3
varbinary(MAX) Datenstrom2 Binär3
varchar String 8-Bit-Zeichen1
varchar(MAX) Datenstrom2 8-Bit-Zeichen1
Xml Datenstrom2 8-Bit-Zeichen1
  1. Daten werden in 8-Bit-Zeichen gemäß der Codepage des im System eingestellten Windows-Gebietsschemas zurückgegeben. Alle Multi-Byte-Zeichen oder Zeichen, die nicht in dieser Codepage enthalten sind, werden durch ein aus einem einzelnen Byte bestehendes Fragezeichen (?) ersetzt.

  2. Wenn sqlsrv_fetch_array oder sqlsrv_fetch_object verwendet wird, um Daten abzurufen, die den PHP-Standardtyp „Stream“ besitzen, werden die Daten als Zeichenfolge ausgegeben und genauso wie der Stream codiert. Wird z.B. einer der binären SQL Server-Datentypen über sqlsrv_fetch_array abgerufen, so wird als Standardrückgabetyp eine binäre Zeichenfolge verwendet.

  3. Die Daten werden als uncodierter und nicht übersetzter Strom aus unbearbeiteten Bytes vom Server zurückgegeben.

  4. Daten des Typs „Datum“ und „Uhrzeit“ können als Zeichenfolgen abgerufen werden. Weitere Informationen finden Sie unter So wird's gemacht: Datums- und Uhrzeittypen mittels des SQLSRV-Treibers als Zeichenfolgen abrufen.

  5. Dies ist ein veralteter Typ, der dem varbinary(max)-Typ zugeordnet ist.

  6. Dies ist ein veralteter Typ, der dem nvarchar(max)-Typ zugeordnet ist.

  7. Der Typ sql_variant wird in bidirektionalen und Ausgabeparametern nicht unterstützt.

  8. Dies ist ein veralteter Typ, der dem varchar(max)-Typ zugeordnet ist.

  9. Als „UNIQUEIDENTIFIER“ werden GUIDs bezeichnet, die den folgenden regulären Ausdruck aufweisen.

    [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}

Weitere neue Datentypen und Funktionen in SQL Server 2008

Datentypen, die in SQL Server 2008 neu sind und die außerhalb von Spalten (z.B. Tabellenwertparameter) vorhanden sind, werden in Microsoft-Treiber für PHP für SQL Server nicht unterstützt. Die folgende Tabelle fasst die PHP-Unterstützung für die neuen Features von SQL Server 2008 zusammen.

Feature PHP-Unterstützung
Tabellenwertparameter No
Spalten mit geringer Dichte Partial
NULL-Bit-Komprimierung Ja
Große benutzerdefinierte CLR-Typen (UDTs) Ja
Dienstprinzipalname No
MERGE Ja
FILESTREAM Partial

Teilweise Unterstützung besagt, dass Sie den Spaltentyp nicht programmgesteuert abfragen können.

Weitere Informationen

Konstanten (Microsoft-Treiber für PHP für SQL Server)

Konvertieren von Datentypen

PHP-Typen

Datentypen (Transact-SQL)

sqlsrv_field_metadata