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

  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 bidireccionales o de salida.

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

  9. 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
Tipos CLR de gran tamaño definidos por el usuario (UDT)
Nombre de Service Principal 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