서버에서 데이터를 검색할 때 사용자가 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 1.1 버전에 추가된 형식이 나와 있습니다.
| SQL Server 형식 | 기본 PHP 형식 | 기본 인코딩 |
|---|---|---|
date8 |
Datetime |
해당 사항 없음 |
time8 |
Datetime |
해당 사항 없음 |
datetime28 |
Datetime |
해당 사항 없음 |
datetimeoffset8 |
Datetime |
해당 사항 없음 |
geography |
STREAM |
이진3 |
geometry |
STREAM |
이진3 |
- 시스템에 설정된 Windows 로캘의 코드 페이지에 지정된 대로 8비트 문자의 데이터가 반환됩니다. 이 코드 페이지에 매핑되지 않는 문자나 멀티바이트 문자는 모두 싱글바이트 물음표(?)로 대체됩니다.
- sqlsrv_fetch_array 또는 sqlsrv_fetch_object를 사용하여 기본 PHP 형식이 Stream인 데이터를 검색하면 데이터가 스트림과 같은 인코딩의 문자열로 반환됩니다. 예를 들어, sqlsrv_fetch_array를 사용하여 SQL Server 이진 형식을 검색하면 기본 반환 형식은 이진 문자열이 됩니다.
- 인코딩 또는 변환을 수행하지 않고 데이터가 서버에서 원시 바이트 스트림으로 반환됩니다.
- varbinary(max) 형식에 매핑되는 레거시 형식입니다.
- nvarchar(max) 형식에 매핑되는 레거시 형식입니다.
- 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에 새로 추가된 데이터 형식 및 열 외부에 존재하는 데이터 형식(테이블 반환 매개 변수 등)은 SQL Server Driver for PHP 1.1 버전에서 지원되지 않습니다.아래 표에는 SQL Server 2008의 새 기능을 위한 PHP 지원이 요약되어 있습니다.
| 기능 | PHP 지원 |
|---|---|
테이블 반환 매개 변수 |
아니요 |
스파스 열 |
부분 지원 |
Null 비트 압축 |
예 |
큰 CLR UDT(사용자 정의 형식) |
예 |
서비스 사용자 이름 |
아니요 |
MERGE |
예 |
FILESTREAM |
부분 지원 |
부분 형식 지원은 열 형식에 대해 프로그래밍 방식으로 쿼리할 수 없음을 의미합니다.