Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při načítání dat ze serveru převede ovladače Microsoftu pro PHP pro SQL Server data na výchozí datový typ PHP, pokud uživatel nezadá žádný datový typ PHP.
Když se data vrátí pomocí ovladače PDO_SQLSRV, datový typ bude buď int, nebo řetězec.
Zbývající část tohoto tématu popisuje výchozí datové typy pomocí ovladače SQLSRV.
Následující tabulka uvádí datový typ SQL Serveru (datový typ načtený ze serveru), výchozí datový typ PHP (datový typ, na který se data převedou) a výchozí kódování datových proudů a řetězců. Podrobnosti o tom, jak určit datové typy při načítání dat ze serveru, naleznete v tématu Postupy: Určení datových typů PHP.
| Typ SQL Serveru | Výchozí typ PHP | Výchozí kódování |
|---|---|---|
| bigint | String | 8bitový znak1 |
| binární | Stream2 | Binární3 |
| bit | Integer | 8bitový znak1 |
| char | String | 8bitový znak1 |
| datum4 | Datum a čas | Není relevantní |
| datetime4 | Datum a čas | Není relevantní |
| datetime24 | Datum a čas | Není relevantní |
| datetimeoffset4 | Datum a čas | Není relevantní |
| desítkové číslo | String | 8bitový znak1 |
| float | Plovat | 8bitový znak1 |
| geography | STREAM | Binární3 |
| geometrie | STREAM | Binární3 |
| obrázek5 | Stream2 | Binární3 |
| int | Integer | 8bitový znak1 |
| peníze | String | 8bitový znak1 |
| nchar | String | 8bitový znak1 |
| číselný | String | 8bitový znak1 |
| nvarchar | String | 8bitový znak1 |
| nvarchar(MAX) | Stream2 | 8bitový znak1 |
| ntext6 | Stream2 | 8bitový znak1 |
| real | Plovat | 8bitový znak1 |
| smalldatetime | Datum a čas | 8bitový znak1 |
| smallint | Integer | 8bitový znak1 |
| drobné peníze | String | 8bitový znak1 |
| sql_variant7 | String | 8bitový znak1 |
| text8 | Stream2 | 8bitový znak1 |
| čas4 | Datum a čas | Není relevantní |
| časové razítko | String | 8bitový znak1 |
| tinyint | Integer | 8bitový znak1 |
| UDT | Stream2 | Binární3 |
| uniqueidentifier | Řetězec9 | 8bitový znak1 |
| varbinary | Stream2 | Binární3 |
| varbinary(MAX) | Stream2 | Binární3 |
| Varchar | String | 8bitový znak1 |
| varchar(MAX) | Stream2 | 8bitový znak1 |
| xml | Stream2 | 8bitový znak1 |
Data jsou vrácena ve formátu 8bitových znaků podle znakové stránky místního nastavení systému Windows nastaveného v systému. Všechny vícebajtové znaky nebo znaky, které nelze namapovat na tuto znakovou stránku, se nahradí jednobajtovým otazníkem (?).
Pokud sqlsrv_fetch_array nebo sqlsrv_fetch_object slouží k načtení dat, která mají výchozí typ PHP streamu, vrátí se data jako řetězec se stejným kódováním jako stream. Pokud je například binární typ SYSTÉMU SQL Server načten pomocí sqlsrv_fetch_array, je výchozím návratovým typem binární řetězec.
Data se vrátí jako nezpracovaný bajtový stream ze serveru bez nutnosti kódování nebo překladu.
Typy dat a času lze načíst jako řetězce. Další informace naleznete v tématu Postupy: Načtení typu data a času jako řetězce pomocí ovladače SQLSRV.
Toto je starší datový typ, který se mapuje na datový typ varbinary(max).
Jedná se o starší typ, který se mapuje na typ nvarchar(max).
sql_variant se nepodporuje v obousměrných nebo výstupních parametrech.
Jedná se o starší typ, který se mapuje na typ varchar(max).
UNIQUEIDENTIFIERs jsou identifikátory GUID reprezentované následujícím regulárním výrazem:
[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}
Další nové datové typy a funkce SQL Serveru 2008
Datové typy, které jsou v SYSTÉMU SQL Server 2008 nové a existují mimo sloupce (například parametry s hodnotami tabulky), nejsou podporovány v ovladačích Microsoft pro PHP pro SQL Server. Následující tabulka shrnuje podporu PHP pro nové funkce SQL Serveru 2008.
| Vlastnost | Podpora PHP |
|---|---|
| Parametr s tabulkovou hodnotou | Ne |
| Řídké sloupce | Částečný |
| Komprese nulových bitů | Ano |
| Velké uživatelem definované typy CLR (UDT) | Ano |
| Název hlavní služby | Ne |
| MERGE | Ano |
| FILESTREAM | Částečný |
Podpora částečného typu znamená, že se nemůžete programově dotazovat na typ sloupce.