Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat menggunakan driver SQLSRV untuk Driver Microsoft untuk PHP untuk SQL Server, Anda dapat mengambil jenis tanggal dan waktu (smalldatetime, datetime, date, time, datetime2, dan datetimeoffset) sebagai string dengan menentukan opsi berikut di string koneksi atau di tingkat pernyataan:
'ReturnDatesAsStrings'=>true
Defaultnya adalah false, yang berarti bahwa jenis smalldatetime, datetime, date, time, datetime2, dan datetimeoffset akan dikembalikan sebagai objek PHP DateTime . Jika opsi ini diatur pada tingkat pernyataan, opsi ini akan mengambil alih pengaturan tingkat koneksi.
Driver PDO_SQLSRV mengembalikan jenis tanggal dan waktu sebagai string secara default. Untuk mengambilnya sebagai objek DateTime PHP, lihat Cara: Mengambil Jenis Tanggal dan Waktu sebagai Objek TanggalWaktu PHP Menggunakan PDO_SQLSRV
Contoh 1
Contoh berikut menunjukkan sintaks yang menentukan untuk mengambil jenis tanggal dan waktu sebagai string.
<?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);
?>
Contoh 2
Contoh berikut menunjukkan bahwa Anda dapat mengambil tanggal sebagai string dengan menentukan UTF-8 saat Anda mengambil string, bahkan ketika koneksi dibuat dengan "ReturnDatesAsStrings" => false
.
<?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);
?>
Contoh 3
Contoh berikut menunjukkan cara mengambil tanggal sebagai string dengan menentukan UTF-8 dan "ReturnDatesAsStrings" => true
dalam string koneksi.
<?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);
?>
Contoh 4
Contoh berikut menunjukkan cara mengambil tanggal sebagai jenis PHP. 'ReturnDatesAsStrings'=> false
aktif secara default.
<?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 a DateTime object, then convert to string using PHP's date_format function
$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);
?>
Contoh 5
Opsi ReturnDatesAsStrings di tingkat pernyataan mengambil alih opsi koneksi yang sesuai.
<?php
$serverName = 'MyServer';
$connectionInfo = array('Database' => 'MyDatabase', 'ReturnDatesAsStrings' => false);
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn === false) {
echo "Could not connect.\n";
die(print_r(sqlsrv_errors(), true));
}
$tableName = 'MyTable';
$options = array('ReturnDatesAsStrings' => true);
$query = "SELECT DateTimeCol FROM $tableName";
$stmt = sqlsrv_prepare($conn, $query, array(), $options);
if ($stmt === false) {
echo "Error in statement preparation/execution.\n";
die(print_r(sqlsrv_errors(), true));
}
sqlsrv_execute($stmt);
// Expect the fetched value to be a string
$field = sqlsrv_get_field($stmt, 0);
echo $field . PHP_EOL;
sqlsrv_close($conn);
?>
Lihat Juga
Cara: Mengambil Jenis Tanggal dan Waktu sebagai Objek TanggalWaktu PHP Menggunakan PDO_SQLSRV