預設 PHP 資料類型

下載 PHP 驅動程式

從伺服器擷取資料時,如果使用者未曾指定任何 PHP 資料類型,則 Microsoft Drivers for PHP for SQL Server 會將資料轉換成預設的 PHP 資料類型。

使用 PDO_SQLSRV 驅動程式傳回資料時,資料類型會是 int 或 string。

本主題的其餘部分將討論使用 SQLSRV 驅動程式的預設資料類型。

下表列出 SQL Server 資料類型 (從伺服器擷取的資料類型)、預設 PHP 資料類型 (資料會轉換成的資料類型),以及資料流和字串的預設編碼。 如需從伺服器擷取資料時如何指定資料類型的詳細資訊,請參閱 How to: Specify PHP Data Types

SQL Server 類型 預設 PHP 類型 預設編碼
BIGINT String 8 位元字元1
BINARY 資料流2 二進位3
bit 整數 8 位元字元1
char String 8 位元字元1
date4 Datetime 不適用
datetime4 Datetime 不適用
datetime24 Datetime 不適用
datetimeoffset4 Datetime 不適用
decimal String 8 位元字元1
FLOAT Float 8 位元字元1
geography 資料流 二進位3
幾何 資料流 二進位3
image5 資料流2 二進位3
int 整數 8 位元字元1
money String 8 位元字元1
NCHAR String 8 位元字元1
NUMERIC String 8 位元字元1
NVARCHAR String 8 位元字元1
nvarchar(MAX) 資料流2 8 位元字元1
ntext6 資料流2 8 位元字元1
real Float 8 位元字元1
smalldatetime Datetime 8 位元字元1
SMALLINT 整數 8 位元字元1
SMALLMONEY String 8 位元字元1
sql_variant7 String 8 位元字元1
text8 資料流2 8 位元字元1
time4 Datetime 不適用
timestamp String 8 位元字元1
TINYINT 整數 8 位元字元1
UDT 資料流2 二進位3
UNIQUEIDENTIFIER String9 8 位元字元1
varbinary 資料流2 二進位3
varbinary(MAX) 資料流2 二進位3
varchar String 8 位元字元1
varchar(MAX) 資料流2 8 位元字元1
Xml 資料流2 8 位元字元1
  1. 資料會以如同在系統上設定之 Windows 地區設定的字碼頁中指定的 8 位元字元傳回。 系統會以單一位元組問號 (?) 字元取代任何多位元組字元或未對應到此字碼頁的字元。

  2. 如果 sqlsrv_fetch_arraysqlsrv_fetch_object 用來擷取預設 PHP 類型為「資料流」的資料,會以字串形式 (其編碼方式與資料流相同) 傳回資料。 例如,如果使用 sqlsrv_fetch_array 擷取 SQL Server 二進位類型,則預設傳回型別會是二進位字串。

  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 資料類型和功能

Microsoft Drivers for PHP for SQL Server 不支援 SQL Server 2008 的新資料類型,也不支援存在於資料行外的資料類型 (例如資料表值參數)。 下表摘要說明 SQL Server 2008 新功能的 PHP 支援。

功能 PHP 支援
資料表值參數
疏鬆資料行 Partial
Null 位元壓縮
大型 CLR 使用者定義型別 (UDT)
服務主體名稱
MERGE
FILESTREAM Partial

部分類型支援表示您無法以程式設計方式查詢資料行的類型。

另請參閱

常數 (Microsoft Drivers for PHP for SQL Server)

轉換資料類型

PHP 類型

資料類型 (Transact-SQL)

sqlsrv_field_metadata