이 기능은 SQL Server Driver for PHP 1.1 버전에 추가되었습니다.
1.1 버전부터 연결 문자열에 옵션을 지정하여 날짜 형식(datetime, date, time, datetime2 및 datetimeoffset)을 문자열로 검색할 수 있습니다.
날짜 및 시간 형식을 문자열로 검색하려면
다음 연결 옵션을 사용합니다.
'ReturnDatesAsStrings'=>true기본값은 false로, datetime, Date, Time, DateTime2 및 DateTimeOffset 형식이 PHP Datetime 형식으로 반환됩니다.
예
다음 예에서는 날짜 및 시간 형식을 문자열로 검색하도록 지정하는 구문을 보여 줍니다.
<?php
$serverName = "MyServer";
$connectionInfo = array( "Database"=>"AdventureWorks", 'ReturnDatesAsStrings '=> true);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
sqlsrv_close( $conn);
?>
다음 예는 "ReturnDatesAsStrings" => false를 사용하여 연결이 설정된 경우라도 문자열을 검색할 때 UTF-8을 지정하여 날짜를 문자열로 검색할 수 있음을 보여 줍니다.
<?php
$serverName = "MyServer";
$connectionInfo = array( "Database"=>"AdventureWorks", "ReturnDatesAsStrings" => false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
$tsql = "SELECT VersionDate FROM AWBuildVersion";
$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt === false ) {
echo "Error in statement preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
sqlsrv_fetch( $stmt );
// retrieve date as string
$date = sqlsrv_get_field( $stmt, 0, SQLSRV_PHPTYPE_STRING("UTF-8"));
if( $date === false ) {
die( print_r( sqlsrv_errors(), true ));
}
echo $date;
sqlsrv_close( $conn);
?>
다음 예에서는 연결 문자열에 UTF-8 및 "ReturnDatesAsStrings" => true를 지정하여 날짜를 문자열로 검색하는 방법을 보여 줍니다.
<?php
$serverName = "MyServer";
$connectionInfo = array( "Database"=>"AdventureWorks", 'ReturnDatesAsStrings'=> true, "CharacterSet" => 'utf-8' );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
$tsql = "SELECT VersionDate FROM AWBuildVersion";
$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt === false ) {
echo "Error in statement preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
sqlsrv_fetch( $stmt );
// retrieve date as string
$date = sqlsrv_get_field( $stmt, 0 );
if ( $date === false ) {
die( print_r( sqlsrv_errors(), true ));
}
echo $date;
sqlsrv_close( $conn);
?>
다음 예에서는 날짜를 PHP 형식으로 검색하는 방법을 보여 줍니다. 'ReturnDatesAsStrings'=> false는 기본적으로 설정됩니다.
<?php
$serverName = "MyServer";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
$tsql = "SELECT VersionDate FROM AWBuildVersion";
$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt === false ) {
echo "Error in statement preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
sqlsrv_fetch( $stmt );
// retrieve date as string
$date = sqlsrv_get_field( $stmt, 0 );
if ( $date === false ) {
die( print_r( sqlsrv_errors(), true ));
}
$date_string = date_format( $date, 'jS, F Y' );
echo "Date = $date_string\n";
sqlsrv_close( $conn);
?>