Tipos de dados padrão 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 |
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 |
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.
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.
Os dados são retornados do servidor como um fluxo de bytes brutos, sem codificação ou conversão.
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.
Esse é um tipo herdado que é mapeado para o tipo varbinary(max).
Esse é um tipo herdado que é mapeado para o tipo nvarchar(max).
sql_variant não é compatível com parâmetros bidirecionais nem de saída.
Esse é um tipo herdado que é mapeado para o tipo varchar(max).
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.