Tipos de datos PHP predeterminados
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 datos PHP predeterminado | Codificación predeterminada |
---|---|---|
bigint | String | Carácter de 8 bits1 |
binary | Stream2 | Binaria3 |
bit | Entero | Carácter de 8 bits1 |
char | String | Carácter de 8 bits1 |
date4 | Datetime | No aplicable |
datetime4 | Datetime | No aplicable |
datetime24 | Datetime | No aplicable |
datetimeoffset4 | Datetime | No aplicable |
Decimal | String | Carácter de 8 bits1 |
FLOAT | Float | Carácter de 8 bits1 |
geography | Stream | Binaria3 |
geometry | Stream | Binaria3 |
imagen5 | Stream2 | Binaria3 |
int | Entero | Carácter de 8 bits1 |
money | String | Carácter de 8 bits1 |
NCHAR | String | Carácter de 8 bits1 |
NUMERIC | 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 | Float | Carácter de 8 bits1 |
smalldatetime | Datetime | 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 | Datetime | No aplicable |
timestamp | String | Carácter de 8 bits1 |
TINYINT | Entero | Carácter de 8 bits1 |
UDT | Stream2 | Binaria3 |
UNIQUEIDENTIFIER | Cadena9 | Carácter de 8 bits1 |
varbinary | Stream2 | Binaria3 |
varbinary(MAX) | Stream2 | Binaria3 |
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 multibyte, o aquellos que no tengan una correspondencia con esta página de códigos, se sustituyen por un carácter de signo de interrogación de cierre (?) 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 de salida o bidireccionales.
Se trata de un tipo heredado que se asigna al tipo varchar(max).
Los datos 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
En los Controladores de Microsoft para PHP para SQL Server, no se admiten los tipos de datos de SQL Server 2008 nuevos y que no figuran en las columnas (por ejemplo, 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 tabla | No |
Columnas dispersas | Parcial |
Compresión de bits Null | Sí |
Tipos de datos CLR definidos por el usuario (UDT) de gran tamaño | Sí |
Nombre de entidad de seguridad de servicio | 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)