Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si recuperano dati dal server, i Driver Microsoft per PHP per SQL Server convertono i dati in un tipo di dati PHP predefinito se non è stato specificato alcun tipo di dati PHP dall'utente.
Quando vengono restituiti dati mediante il driver PDO_SQLSRV, il tipo di dati sarà int o string.
Nella parte restante di questo argomento sono descritti i tipi di dati predefiniti del driver SQLSRV.
Nella tabella seguente sono elencati i tipi di dati di SQL Server (recuperati dal server), i tipi di dati PHP predefiniti (nei quali vengono convertiti i dati), nonché la codifica predefinita per i flussi e le stringhe. Per informazioni dettagliate su come specificare i tipi di dati durante il recupero di dati dal server, vedere How to: Specify PHP Data Types.
| Tipo di SQL Server | Tipo PHP predefinito | Codifica predefinita |
|---|---|---|
| bigint | String | carattere a 8 bit1 |
| binario | Stream2 | Binario3 |
| bit | Intero | carattere a 8 bit1 |
| char | String | carattere a 8 bit1 |
| date4 | Data e ora | Non applicabile |
| datetime4 | Data e ora | Non applicabile |
| datetime24 | Data e ora | Non applicabile |
| datetimeoffset4 | Data e ora | Non applicabile |
| decimale | String | carattere a 8 bit1 |
| float | Float | carattere a 8 bit1 |
| geografia | Stream | Binario3 |
| geometria | Stream | Binario3 |
| immagine5 | Stream2 | Binario3 |
| int | Intero | carattere a 8 bit1 |
| denaro | String | carattere a 8 bit1 |
| nchar | String | carattere a 8 bit1 |
| numerico | String | carattere a 8 bit1 |
| nvarchar | String | carattere a 8 bit1 |
| nvarchar(MAX) | Stream2 | carattere a 8 bit1 |
| ntext6 | Stream2 | carattere a 8 bit1 |
| reale | Float | carattere a 8 bit1 |
| smalldatetime | Data e ora | carattere a 8 bit1 |
| smallint | Intero | carattere a 8 bit1 |
| smallmoney | String | carattere a 8 bit1 |
| sql_variant7 | String | carattere a 8 bit1 |
| text8 | Stream2 | carattere a 8 bit1 |
| time4 | Data e ora | Non applicabile |
| timestamp | String | carattere a 8 bit1 |
| tinyint | Intero | carattere a 8 bit1 |
| UDT | Stream2 | Binario3 |
| uniqueidentifier | String9 | carattere a 8 bit1 |
| varbinary | Stream2 | Binario3 |
| varbinary(MAX) | Stream2 | Binario3 |
| varchar | String | carattere a 8 bit1 |
| varchar(MAX) | Stream2 | carattere a 8 bit1 |
| xml | Stream2 | carattere a 8 bit1 |
I dati vengono restituiti come caratteri a 8 bit come specificato nella tabella codici delle impostazioni locali di Windows impostate nel sistema. Qualsiasi carattere multibyte o carattere che non trova corrispondenza in questa tabella codici viene sostituito con un punto interrogativo (?) a un byte.
Se viene usato sqlsrv_fetch_array o sqlsrv_fetch_object per il recupero di dati con il tipo PHP predefinito Stream, i dati vengono restituiti come stringa con la stessa codifica del flusso. Se ad esempio un tipo binario di Microsoft SQL Server viene recuperato usando sqlsrv_fetch_array, il tipo restituito predefinito è una stringa binaria.
I dati vengono restituiti come flusso di byte non elaborati proveniente dal server senza alcuna codifica o conversione.
I tipi date e time possono essere recuperati come stringhe. Per ulteriori informazioni, vedere Procedura: Recuperare il tipo di dati data e ora come stringhe utilizzando il driver SQLSRV.
Si tratta di un tipo precedente che corrisponde al tipo varbinary(max).
Si tratta di un tipo precedente che corrisponde al tipo nvarchar(max).
sql_variant non è supportato nei parametri bidirezionali o di output.
Si tratta di un tipo precedente che corrisponde al tipo varchar(max).
Gli UNIQUEIDENTIFIER sono GUID rappresentati dalla seguente espressione regolare:
[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}
Nuovi tipi di dati e funzionalità di SQL Server 2008
I tipi di dati nuovi in SQL Server 2008 e presenti all'esterno delle colonne, ad esempio i parametri con valori di tabella, non sono supportati nei Driver Microsoft per PHP per SQL Server. Nella tabella seguente viene riepilogato il supporto PHP per le nuove funzionalità di SQL Server 2008.
| Funzionalità | Supporto PHP |
|---|---|
| Parametro con valori di tipo tabella | No |
| Colonne di tipo sparse | Parziale |
| Compressione bit Null | Sì |
| Tipi CLR definiti dall'utente di grandi dimensioni (UDT) | Sì |
| Nome dell'entità di servizio | No |
| MERGE | Sì |
| FILESTREAM | Parziale |
Il supporto dei tipi parziale indica che non è possibile eseguire una query a livello di programmazione per il tipo della colonna.