既定の PHP データ型

サーバーからデータを取得するとき、ユーザーが PHP データ型を指定しなければ、SQL Server Driver for PHP によってデータが既定の PHP データ型に変換されます。次の表に、SQL Server データ型 (サーバーから取得されるデータ型)、既定の PHP データ型 (データ変換後のデータ型)、およびストリームと文字列の既定のエンコードを示します。サーバーからのデータの取得時にデータ型を指定する方法の詳細については、「PHP データ型を指定する方法」を参照してください。

SQL Server 型 既定の PHP 型 既定のエンコード

bigint

String

8 ビット文字1

binary

Stream2

バイナリ3

bit

Integer

8 ビット文字1

char

String

8 ビット文字1

datetime8

Datetime

該当なし

decimal

String

8 ビット文字1

float

Float

8 ビット文字1

image4

Stream2

バイナリ3

int

Integer

8 ビット文字1

money

String

8 ビット文字1

nchar

String

8 ビット文字1

numeric

String

8 ビット文字1

nvarchar

String

8 ビット文字1

nvarchar(MAX)

Stream2

8 ビット文字1

ntext5

Stream2

8 ビット文字1

real

Float

8 ビット文字1

smalldatetime

Datetime

8 ビット文字1

smallint

Integer

8 ビット文字1

smallmoney

String

8 ビット文字1

sql_variant

String

8 ビット文字1

text6

Stream2

8 ビット文字1

timestamp

String

8 ビット文字1

tinyint

Integer

8 ビット文字1

UDT

Stream2

バイナリ3

uniqueidentifier

String7

8 ビット文字1

varbinary

Stream2

バイナリ3

varbinary(MAX)

Stream2

バイナリ3

varchar

String

8 ビット文字1

varchar(MAX)

Stream2

8 ビット文字1

variant

サポートなし

サポートなし

xml

Stream2

8 ビット文字1

次の表は、SQL Server 2008 のデータ型をサポートするために、SQL Server Driver for PHP Version 1.1 で追加された型の一覧です。

SQL Server 型 既定の PHP 型 既定のエンコード

date8

Datetime

該当なし

time8

Datetime

該当なし

datetime28

Datetime

該当なし

datetimeoffset8

Datetime

該当なし

geography

STREAM

バイナリ3

geometry

STREAM

バイナリ3

  1. システムで設定された Windows ロケールのコード ページでの指定に従って、データが 8 ビット文字として返されます。マルチバイト文字またはこのコード ページにマップされていない文字は、1 バイトの疑問符 (?) 文字に置き換えられます。
  2. sqlsrv_fetch_array または sqlsrv_fetch_object を使用して既定の PHP 型 Stream のデータを取得すると、データはストリームと同じエンコードの文字列として返されます。たとえば、sqlsrv_fetch_array を使用して SQL Server binary 型を取得した場合、既定の戻り値の型は binary string になります。
  3. エンコードまたは変換は実行されず、データが生のバイト ストリームとしてサーバーから返されます。
  4. これは varbinary(max) 型にマップされるレガシ型です。
  5. これは nvarchar(max) 型にマップされるレガシ型です。
  6. これは varchar(max) 型にマップされるレガシ型です。
  7. 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}
  8. 日付型および時刻型のデータを文字列として取得できます。詳細については、「日付型および時刻型のデータを文字列として取得する方法」を参照してください。

SQL Server 2008 のその他の新しいデータ型および機能

列の外に存在する SQL Server 2008 の新しいデータ型 (テーブル値パラメーターなど) は、SQL Server Driver for PHP Version 1.1 ではサポートされていません。次の表は、SQL Server 2008 の新機能での PHP のサポートをまとめたものです。

機能 PHP のサポート

テーブル値パラメーター

いいえ

スパース列

部分的

NULL ビット比較

はい

大きな CLR ユーザー定義型 (UDT)

はい

サービス プリンシパル名

いいえ

MERGE

はい

FILESTREAM

部分的

部分的な型サポートとは、列の型に対するクエリをプログラムによる処理では実行できないことを意味します。

参照

リファレンス

sqlsrv_field_metadata

概念

SQLSRV 定数

その他のリソース

データ型の変換
PHP 型
データ型 (Transact-SQL)