기본 PHP 데이터 형식
서버에서 데이터를 검색할 때 사용자가 PHP 데이터 형식을 지정하지 않은 경우 Microsoft Drivers for PHP for SQL Server는 데이터를 기본 PHP 데이터 형식으로 변환합니다.
PDO_SQLSRV 드라이버를 사용하여 데이터를 반환하는 경우 데이터 형식은 int 또는 문자열입니다.
이 항목의 나머지 부분에서는 SQLSRV 드라이버를 사용하는 기본 데이터 형식에 대해 설명합니다.
다음 테이블에서는 SQL Server 데이터 형식(서버에서 검색 중인 데이터 형식), 기본 PHP 데이터 형식(데이터를 변환할 대상 데이터 형식) 및 스트림과 문자열에 대한 기본 인코딩을 보여줍니다. 서버에서 데이터를 검색할 때 데이터 형식을 지정하는 방법에 대한 자세한 내용은 방법: PHP 데이터 형식 지정을 참조하세요.
SQL Server 형식 | 기본 PHP 형식 | 기본 인코딩 |
---|---|---|
bigint | 문자열 | 8비트 문자1 |
binary | 스트림2 | 이진3 |
bit | 정수 | 8비트 문자1 |
char | 문자열 | 8비트 문자1 |
날짜4 | DateTime | 해당 없음 |
datetime4 | DateTime | 해당 없음 |
날짜/시간24 | DateTime | 해당 없음 |
datetimeoffset4 | DateTime | 해당 없음 |
decimal | 문자열 | 8비트 문자1 |
float | Float | 8비트 문자1 |
geography | 스트림 | 이진3 |
geometry | 스트림 | 이진3 |
이미지5 | 스트림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 | Float | 8비트 문자1 |
smalldatetime | DateTime | 8비트 문자1 |
smallint | 정수 | 8비트 문자1 |
smallmoney | 문자열 | 8비트 문자1 |
sql_variant7 | 문자열 | 8비트 문자1 |
텍스트8 | 스트림2 | 8비트 문자1 |
time4 | DateTime | 해당 없음 |
timestamp | 문자열 | 8비트 문자1 |
tinyint | 정수 | 8비트 문자1 |
UDT | 스트림2 | 이진3 |
uniqueidentifier | 문자열9 | 8비트 문자1 |
varbinary | 스트림2 | 이진3 |
varbinary(MAX) | 스트림2 | 이진3 |
varchar | 문자열 | 8비트 문자1 |
varchar(MAX) | 스트림2 | 8비트 문자1 |
Xml | 스트림2 | 8비트 문자1 |
데이터는 시스템에 설정된 Windows 로캘의 코드 페이지에 지정된 대로 8비트 문자로 반환됩니다. 이 코드 페이지에 매핑되지 않는 멀티바이트 문자 또는 문자는 단일바이트 물음표(?) 문자로 대체됩니다.
기본 PHP 형식이 스트림인 데이터를 검색하기 위해 sqlsrv_fetch_array 또는 sqlsrv_fetch_object를 사용하는 경우 데이터는 스트림과 동일한 인코딩을 사용하는 문자열로 반환됩니다. 예를 들어, sqlsrv_fetch_array를 사용하여 SQL Server 이진 형식을 검색하는 경우 기본 반환 형식은 이진 문자열입니다.
데이터는 인코딩 또는 변환을 수행하지 않은 원시 바이트 스트림으로 서버에서 반환됩니다.
날짜 및 시간 형식을 문자열로 가져올 수 있습니다. 자세한 내용은 방법: SQLSRV 드라이버를 사용하여 날짜 및 시간 형식을 문자열로 검색을 참조하세요.
varbinary(max) 형식에 매핑되는 레거시 형식입니다.
nvarchar(max) 형식에 매핑되는 레거시 형식입니다.
양방향 또는 출력 매개 변수에서는 sql_변수가 지원되지 않습니다.
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의 새로운 데이터 형식이며 열 외부에 있는 데이터 형식(예: 테이블 반환 매개 변수)은 MICROSOFT Drivers for PHP for SQL Server에서 지원되지 않습니다. 다음 테이블에는 새로운 SQL Server 2008 기능에 대한 PHP 지원이 요약되어 있습니다.
기능 | PHP 지원 |
---|---|
테이블 반환 매개 변수 | 아니요 |
스파스 열 | 부분 |
Null 비트 압축 | 예 |
큰 CLR 사용자 정의 형식(UDT) | 예 |
서비스 사용자 이름 | 아니요 |
MERGE | 예 |
FILESTREAM | 부분 |
부분 형식 지원은 열의 형식을 프로그래밍 방식으로 쿼리할 수 없음을 의미합니다.