Tipos de datos PHP predeterminados

Descargar controlador PHP

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

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

  3. Los datos se devuelven del servidor como una secuencia de bytes sin procesar, sin que se realicen procesos de codificación o traducción.

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

  5. Se trata de un tipo heredado que se asigna al tipo varbinary(max).

  6. Se trata de un tipo heredado que se asigna al tipo nvarchar(max).

  7. sql_variant no se admite en parámetros de salida o bidireccionales.

  8. Se trata de un tipo heredado que se asigna al tipo varchar(max).

  9. 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
Tipos de datos CLR definidos por el usuario (UDT) de gran tamaño
Nombre de entidad de seguridad de servicio No
MERGE
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)

Conversión de tipos de datos

Tipos de datos PHP

Tipos de datos (Transact-SQL)

sqlsrv_field_metadata