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
Binär Stream2 Binär3
bit Integer 8-Bit-Zeichen1
char String 8-Bit-Zeichen1
datum4 Datum/Uhrzeit Nicht zutreffend
datetime4 Datum und Uhrzeit Nicht zutreffend
datetime24 Datum/Uhrzeit Nicht zutreffend
datetimeoffset4 Datum und Uhrzeit Nicht zutreffend
Dezimal String 8-Bit-Zeichen1
float Float 8-Bit-Zeichen1
Geografie Datenstrom Binär3
Geometrie Stream Binär3
Bild5 Stream2 Binär3
INT Integer 8-Bit-Zeichen1
Geld String 8-Bit-Zeichen1
NCHAR String 8-Bit-Zeichen1
numerisch String 8-Bit-Zeichen1
nvarchar String 8-Bit-Zeichen1
nvarchar(Max) Stream2 8-Bit-Zeichen1
ntext6 Stream2 8-Bit-Zeichen1
echt Float 8-Bit-Zeichen1
smalldatetime Datum und Uhrzeit 8-Bit-Zeichen1
smallint Integer 8-Bit-Zeichen1
smallmoney String 8-Bit-Zeichen1
sql_variant7 String 8-Bit-Zeichen1
text8 Stream2 8-Bit-Zeichen1
time4 Datum und Uhrzeit Nicht zutreffend
Zeitstempel String 8-Bit-Zeichen1
tinyint Integer 8-Bit-Zeichen1
UDT Stream2 Binär3
uniqueidentifier String9 8-Bit-Zeichen1
varbinary Stream2 Binär3
varbinary(MAX) Stream2 Binär3
varchar String 8-Bit-Zeichen1
varchar(MAX) Stream2 8-Bit-Zeichen1
Xml Stream2 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 oder Ausgabeparametern nicht unterstützt.

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

  9. UNIQUEIDENTIFIERs sind GUIDs, die durch den folgenden regulären Ausdruck dargestellt werden:

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

Funktion PHP-Unterstützung
tabellenwertiger Parameter Nein
Spalten mit geringer Dichte Teilweise
NULL-Bit-Komprimierung Ja
Große benutzerdefinierte CLR-Typen (UDTs) Ja
Dienstprinzipalname Nein
MERGE Ja
FILESTREAM Teilweise

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

Siehe auch

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

Konvertieren von Datentypen

PHP-Typen

Datentypen (Transact-SQL)

sqlsrv_field_metadata