Поделиться через


Типы данных PHP по умолчанию

Скачать драйвер PHP

При получении данных с сервера драйверы Майкрософт для PHP для SQL Server преобразовывают данные в тип данных PHP по умолчанию, если пользователь не указал тип данных PHP.

При возврате данных с помощью драйвера PDO_SQLSRV типом данных является int или string.

В оставшейся части этой статьи рассматриваются типы данных по умолчанию при работе с драйвером SQLSRV.

Следующая таблица содержит тип данных SQL Server (тип данных, извлекаемых с сервера), тип данных PHP по умолчанию (тип данных, в который преобразуются данные) и кодировку по умолчанию для потоков и строк. Дополнительные сведения об указании типов данных при извлечении данных с сервера см. в статье How to: Specify PHP Data Types.

Тип SQL Server Тип PHP по умолчанию Кодировка по умолчанию
bigint Строка 8-битовый символ1
binary Поток2 Двоичная3
bit Целое 8-битовый символ1
char Строка 8-битовый символ1
date4 Datetime Нет данных
datetime4 Datetime Нет данных
datetime24 Datetime Нет данных
datetimeoffset4 Datetime Нет данных
десятичное Строка 8-битовый символ1
с плавающей запятой Тип с плавающей запятой 8-битовый символ1
география STREAM Двоичная3
geometry STREAM Двоичная3
image5 Поток2 Двоичная3
INT Целое 8-битовый символ1
money Строка 8-битовый символ1
nchar Строка 8-битовый символ1
numeric Строка 8-битовый символ1
nvarchar Строка 8-битовый символ1
nvarchar(MAX) Поток2 8-битовый символ1
ntext6 Поток2 8-битовый символ1
real Тип с плавающей запятой 8-битовый символ1
smalldatetime Datetime 8-битовый символ1
smallint Целое 8-битовый символ1
smallmoney Строка 8-битовый символ1
sql_variant7 Строка 8-битовый символ1
text8 Поток2 8-битовый символ1
time4 Datetime Нет данных
TIMESTAMP Строка 8-битовый символ1
tinyint Целое 8-битовый символ1
(UDT) Поток2 Двоичная3
uniqueidentifier String9 8-битовый символ1
varbinary Поток2 Двоичная3
varbinary(MAX) Поток2 Двоичная3
varchar Строка 8-битовый символ1
varchar(MAX) Поток2 8-битовый символ1
xml Поток2 8-битовый символ1
  1. Данные возвращаются в виде 8-битовых символов, как указано в кодовой странице языкового стандарта Windows, установленного в системе. Для всех многобайтовых символов или символов, не соответствующих этой кодовой странице, подставляется однобайтовый символ вопросительного знака (?).

  2. Если для извлечения данных, имеющих тип потока PHP по умолчанию, используется sqlsrv_fetch_array или sqlsrv_fetch_object, данные возвращаются в виде строки с кодировкой потока. Например, при извлечении данных двоичного типа SQL Server с использованием sqlsrv_fetch_array типом возвращаемого значения по умолчанию будет двоичная строка.

  3. Данные возвращаются в виде потока необработанных байтов с сервера без применения кодировки или преобразования.

  4. Данные типов даты и времени можно извлекать в виде строк. Дополнительные сведения см. в статье Практическое руководство. Получение типа даты и времени в виде строк с помощью драйвера SQLSRV.

  5. Это устаревший тип, соответствующий типу varbinary(max).

  6. Это устаревший тип, соответствующий типу nvarchar(max).

  7. sql_variant не поддерживается для двунаправленных или выходных параметров.

  8. Это устаревший тип, соответствующий типу varchar(max).

  9. Идентификаторы UNIQUEIDENTIFIER — это идентификаторы GUID, представленные следующим регулярным выражением:

    [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}

Другие новые типы данных и функции SQL Server 2008

Типы данных, новые в SQL Server 2008 и существующие вне столбцов (например, табличное значение параметров), не поддерживаются в драйверах Майкрософт для PHP для SQL Server. В следующей таблице приведены сводные данные о поддержке PHP в новых функциях SQL Server 2008.

Функция Поддержка PHP
Возвращающий табличное значение параметр No
Разреженные столбцы Частично
Сжатие NULL-битов Да
Определяемые пользователем типы данных больших значений CLR (UDT) Да
Имя субъекта-службы No
MERGE Да
FILESTREAM Частично

Частичная поддержка типа означает, что вы не можете программно запросить тип столбца.

См. также

Константы (драйверы Microsoft Drivers for PHP for SQL Server)

Преобразование типов данных

Типы PHP

Типы данных (Transact-SQL)

sqlsrv_field_metadata