Tipos de dados padrão do PHP

Baixar driver do 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
binário Stream2 Binário3
bit Integer Caractere de 8 bits1
char String Caractere de 8 bits1
date4 Data e hora Não aplicável
datetime4 Data e hora Não aplicável
datetime24 Data e hora Não aplicável
datetimeoffset4 Data e hora Não aplicável
decimal String Caractere de 8 bits1
derivar Float Caractere de 8 bits1
geografia Stream Binário3
geometria Fluxo Binário3
imagem5 Stream2 Binário3
INT Integer Caractere de 8 bits1
dinheiro String Caractere de 8 bits1
NCHAR String Caractere de 8 bits1
numérico String Caractere de 8 bits1
nvarchar String Caractere de 8 bits1
nvarchar(MAX) Stream2 Caractere de 8 bits1
ntext6 Stream2 Caractere de 8 bits1
real Float Caractere de 8 bits1
smalldatetime Data e hora Caractere de 8 bits1
smallint Integer Caractere de 8 bits1
smallmoney String Caractere de 8 bits1
sql_variant7 String Caractere de 8 bits1
text8 Stream2 Caractere de 8 bits1
time4 Data e hora Não aplicável
carimbo de data/hora String Caractere de 8 bits1
tinyint Integer Caractere de 8 bits1
UDT Stream2 Binário3
identificador exclusivo String9 Caractere de 8 bits1
varbinary Stream2 Binário3
varbinary(MAX) Stream2 Binário3
varchar String Caractere de 8 bits1
varchar(MAX) Fluxo2 Caractere de 8 bits1
Xml Stream2 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
Compressão de bits nulos Sim
Tipos grandes definidos pelo usuário do CLR (UDTs) Sim
Nome da entidade de serviço Não
MERGE 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