Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При получении данных с сервера драйверы Майкрософт для 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 |
Данные возвращаются в виде 8-битовых символов, как указано в кодовой странице языкового стандарта Windows, установленного в системе. Для всех многобайтовых символов или символов, не соответствующих этой кодовой странице, подставляется однобайтовый символ вопросительного знака (?).
Если для извлечения данных, имеющих тип потока PHP по умолчанию, используется sqlsrv_fetch_array или sqlsrv_fetch_object, данные возвращаются в виде строки с кодировкой потока. Например, при извлечении данных двоичного типа SQL Server с использованием sqlsrv_fetch_array типом возвращаемого значения по умолчанию будет двоичная строка.
Данные возвращаются в виде потока необработанных байтов с сервера без применения кодировки или преобразования.
Данные типов даты и времени можно извлекать в виде строк. Дополнительные сведения см. в статье Практическое руководство. Получение типа даты и времени в виде строк с помощью драйвера SQLSRV.
Это устаревший тип, соответствующий типу varbinary(max).
Это устаревший тип, соответствующий типу nvarchar(max).
sql_variant не поддерживается для двунаправленных или выходных параметров.
Это устаревший тип, соответствующий типу varchar(max).
Идентификаторы 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)