Tipos de dados padrão do PHP

Baixar o driver PHP

Ao recuperar dados do servidor, o Drivers da Microsoft para PHP para SQL Server converte os dados em um tipo de dados padrão do PHP se nenhum tipo de dados do PHP foi especificado pelo usuário.

Quando dados são retornados usando o driver PDO_SQLSRV, o tipo de dados é int ou cadeia de caracteres.

O restante deste tópico aborda os tipos de dados padrão usando o driver SQLSRV.

A tabela a seguir lista o tipo de dados do SQL Server (o tipo de dados que está sendo recuperado do servidor), o tipo de dados padrão do PHP (o tipo de dados no qual os dados são convertidos) e a codificação padrão para fluxos e cadeias de caracteres. Para obter detalhes sobre como especificar tipos de dados ao recuperar dados do servidor, consulte How to: Specify PHP Data Types.

Tipo do SQL Server Tipo padrão do PHP Codificação padrão
BIGINT String Caractere de 8 bits1
binary Fluxo2 Binário3
bit Integer Caractere de 8 bits1
char String Caractere de 8 bits1
date4 Datetime Não aplicável
datetime4 Datetime Não aplicável
datetime24 Datetime Não aplicável
datetimeoffset4 Datetime Não aplicável
decimal String Caractere de 8 bits1
FLOAT Float Caractere de 8 bits1
geografia Fluxo Binário3
geometria Fluxo Binário3
image5 Fluxo2 Binário3
INT Integer Caractere de 8 bits1
money String Caractere de 8 bits1
NCHAR String Caractere de 8 bits1
numeric String Caractere de 8 bits1
NVARCHAR String Caractere de 8 bits1
nvarchar(MAX) Fluxo2 Caractere de 8 bits1
ntext6 Fluxo2 Caractere de 8 bits1
real Float Caractere de 8 bits1
smalldatetime Datetime Caractere de 8 bits1
SMALLINT Integer Caractere de 8 bits1
SMALLMONEY String Caractere de 8 bits1
sql_variant7 String Caractere de 8 bits1
text8 Fluxo2 Caractere de 8 bits1
time4 Datetime Não aplicável
timestamp String Caractere de 8 bits1
TINYINT Integer Caractere de 8 bits1
UDT Fluxo2 Binário3
UNIQUEIDENTIFIER String9 Caractere de 8 bits1
varbinary Fluxo2 Binário3
varbinary(MAX) Fluxo2 Binário3
varchar String Caractere de 8 bits1
varchar(MAX) Fluxo2 Caractere de 8 bits1
Xml Fluxo2 Caractere de 8 bits1
  1. Os dados são retornados em caracteres de 8 bits conforme especificado na página de código da localidade do Windows definida no sistema. Todos os caracteres multibyte ou caracteres não mapeados nessa página de código são substituídos por um caractere de ponto de interrogação (?) de byte único.

  2. Se sqlsrv_fetch_array ou sqlsrv_fetch_object for usado para recuperar dados com o tipo PHP padrão de fluxo, os dados serão retornados como uma cadeia de caracteres com a mesma codificação que o fluxo. Por exemplo, se um tipo binário do SQL Server for recuperado usando sqlsrv_fetch_array, o tipo de retorno padrão será uma cadeia de caracteres binária.

  3. Os dados são retornados do servidor como um fluxo de bytes brutos, sem codificação ou conversão.

  4. Tipos de data e hora podem ser recuperados como cadeias de caracteres. Para obter mais informações, consulte Como recuperar um tipo de data e hora como cadeias de caracteres usando o driver SQLSRV.

  5. Esse é um tipo herdado que é mapeado para o tipo varbinary(max).

  6. Esse é um tipo herdado que é mapeado para o tipo nvarchar(max).

  7. sql_variant não é compatível com parâmetros bidirecionais nem de saída.

  8. Esse é um tipo herdado que é mapeado para o tipo varchar(max).

  9. UNIQUEIDENTIFIERs são GUIDs representados pela seguinte expressão 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}

Outros tipos de dados e recursos novos do SQL Server 2008

Os tipos de dados novos do SQL Server 2008 e que existem fora das colunas (como parâmetros com valor de tabela) não são compatíveis com o Drivers da Microsoft para PHP para SQL Server. A tabela a seguir resume o suporte do PHP para os novos recursos do SQL Server 2008.

Recurso Suporte do PHP
Parâmetro com valor de tabela Não
Colunas esparsas Parcial
Compactação de bit nulo Sim
Tipos de dados CLR grande definidos pelo usuário (UDTs) Sim
Nome da entidade de serviço Não
MESCLAR Sim
FILESTREAM Parcial

O suporte a tipo parcial significa que você não pode consultar programaticamente o tipo da coluna.

Consulte Também

Constantes (Drivers da Microsoft para PHP para SQL Server)

Convertendo tipos de dados

Tipos do PHP

Tipos de dados (Transact-SQL)

sqlsrv_field_metadata