Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cuando se recuperan datos del servidor, los Controladores de Microsoft para PHP para SQL Server los convierten a un tipo de datos PHP predeterminado si el usuario no ha especificado ninguno.
Cuando se devuelven datos utilizando el controlador PDO_SQLSRV, el tipo de datos será int o String.
En el resto del contenido de este tema, se describen los tipos de datos predeterminados que utilizan el controlador SQLSRV.
En la tabla siguiente se muestra el tipo de datos de SQL Server (el tipo de datos que se recupera del servidor), el tipo de datos PHP predeterminado (el tipo de datos al que se efectúa la conversión) y la codificación predeterminada de secuencias y cadenas. Para obtener información más detallada acerca de cómo especificar los tipos de datos cuando se recuperan datos del servidor, consulte How to: Specify PHP Data Types.
| Tipo de datos de SQL Server | Tipo de PHP predeterminado | Codificación predeterminada |
|---|---|---|
| bigint | String | Carácter de 8 bits1 |
| binario | Stream2 | Binary3 |
| bit | Entero | Carácter de 8 bits1 |
| char | String | Carácter de 8 bits1 |
| fecha4 | Fecha y hora | No aplicable |
| datetime4 | Fecha y hora | No aplicable |
| datetime24 | Fecha y hora | No aplicable |
| datetimeoffset4 | Fecha y hora | No aplicable |
| Decimal | String | Carácter de 8 bits1 |
| flotante | Flotante | Carácter de 8 bits1 |
| geografía | TRANSMISIÓN | Binary3 |
| geometría | TRANSMISIÓN | Binario3 |
| imagen5 | Stream2 | Binario3 |
| int | Entero | Carácter de 8 bits1 |
| dinero | String | Carácter de 8 bits1 |
| NCHAR | String | Carácter de 8 bits1 |
| numérico | String | Carácter de 8 bits1 |
| nvarchar | String | Carácter de 8 bits1 |
| nvarchar(MAX) | Stream2 | Carácter de 8 bits1 |
| ntext6 | Stream2 | Carácter de 8 bits1 |
| real | Flotante | Carácter de 8 bits1 |
| smalldatetime | Fecha y hora | Carácter de 8 bits1 |
| smallint | Entero | Carácter de 8 bits1 |
| smallmoney | String | Carácter de 8 bits1 |
| sql_variant7 | String | Carácter de 8 bits1 |
| texto8 | Stream2 | Carácter de 8 bits1 |
| time4 | Fecha y hora | No aplicable |
| marca temporal | String | Carácter de 8 bits1 |
| tinyint | Entero | Carácter de 8 bits1 |
| UDT | Stream2 | Binario3 |
| uniqueidentifier | Cadena9 | Carácter de 8 bits1 |
| varbinary | Stream2 | Binario3 |
| varbinary(MAX) | Stream2 | Binario3 |
| varchar | String | Carácter de 8 bits1 |
| varchar(MAX) | Stream2 | Carácter de 8 bits1 |
| Xml | Stream2 | Carácter de 8 bits1 |
Los datos se devuelven en caracteres de 8 bits tal y como se especifica en la página de códigos de la configuración regional de Windows del sistema. Los caracteres de varios bytes, o aquellos que no se correspondan con esta página de códigos, se sustituyen por un signo de interrogación (?) de un solo byte.
Si sqlsrv_fetch_array o sqlsrv_fetch_object se usan para recuperar datos con el tipo de datos de PHP predeterminado Flujo, los datos se devuelven como una cadena con la misma codificación que el flujo. Por ejemplo, si se recupera un tipo binario de SQL Server mediante sqlsrv_fetch_array, el tipo de valor predeterminado devuelto es una cadena binaria.
Los datos se devuelven del servidor como una secuencia de bytes sin procesar, sin que se realicen procesos de codificación o traducción.
Los tipos de datos de fecha y hora se pueden recuperar como cadenas. Para obtener más información, vea Cómo recuperar el tipo de fecha y hora como cadenas con el controlador SQLSRV.
Se trata de un tipo heredado que se asigna al tipo varbinary(max).
Se trata de un tipo heredado que se asigna al tipo nvarchar(max).
sql_variant no se admite en parámetros bidireccionales o de salida.
Se trata de un tipo heredado que se asigna al tipo varchar(max).
Los UNIQUEIDENTIFIER son GUID que se representan mediante la siguiente expresión regular:
[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}
Otras características y tipos de datos de SQL Server 2008 nuevos
Los controladores de Microsoft para PHP para SQL Server no admiten los nuevos tipos de datos de SQL Server 2008 que existen fuera de las columnas (como los parámetros con valores de tabla). En la siguiente tabla se resume la compatibilidad de PHP con las nuevas características de SQL Server 2008.
| Característica | Compatibilidad de PHP |
|---|---|
| Parámetro con valores de tipo tabla | No |
| Columnas dispersas | Parcial |
| Compresión de bits nulos | Sí |
| Tipos CLR de gran tamaño definidos por el usuario (UDT) | Sí |
| Nombre de Service Principal | No |
| MERGE | Sí |
| FILESTREAM | Parcial |
En el caso de que la compatibilidad del tipo en cuestión sea parcial, no se podrán realizar consultas mediante programación del tipo de datos de la columna.
Consulte también
Constantes (controladores de Microsoft para PHP para SQL Server)