다음을 통해 공유


방법: 날짜 및 시간 형식을 문자열로 검색

이 기능은 SQL Server Driver for PHP 1.1 버전에 추가되었습니다.

1.1 버전부터 연결 문자열에 옵션을 지정하여 날짜 형식(datetime, date, time, datetime2datetimeoffset)을 문자열로 검색할 수 있습니다.

날짜 및 시간 형식을 문자열로 검색하려면

  • 다음 연결 옵션을 사용합니다.

    'ReturnDatesAsStrings'=>true
    

    기본값은 false로, datetime, Date, Time, DateTime2DateTimeOffset 형식이 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);
?>

참고 항목

관련 자료

데이터 검색