Skip to content

Commit 9d465ad

Browse files
JosefDohnaldg
authored andcommitted
SqlsrvDriver::formatDateTime(): format datetime by ISO 8601
1 parent bb9d619 commit 9d465ad

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/Database/Drivers/SqlsrvDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public function formatBool($value)
6363
public function formatDateTime(/*\DateTimeInterface*/ $value)
6464
{
6565
/** @see https://msdn.microsoft.com/en-us/library/ms187819.aspx */
66-
return $value->format("'Y-m-d H:i:s'");
66+
return $value->format("'Y-m-d\\TH:i:s'");
6767
}
6868

6969

tests/Database/SqlPreprocessor.phpt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ test(function () use ($preprocessor, $driverName) { // date time
253253
list($sql, $params) = $preprocessor->process(['SELECT ?', [new DateTime('2011-11-11')]]);
254254
Assert::same(reformat([
255255
'sqlite' => 'SELECT 1320966000',
256+
'sqlsrv' => "SELECT '2011-11-11T00:00:00'",
256257
"SELECT '2011-11-11 00:00:00'",
257258
]), $sql);
258259
Assert::same([], $params);
@@ -270,6 +271,7 @@ test(function () use ($preprocessor, $driverName) { // date time
270271
list($sql, $params) = $preprocessor->process(['SELECT ?', [new DateTimeImmutable('2011-11-11')]]);
271272
Assert::same(reformat([
272273
'sqlite' => 'SELECT 1320966000',
274+
'sqlsrv' => "SELECT '2011-11-11T00:00:00'",
273275
"SELECT '2011-11-11 00:00:00'",
274276
]), $sql);
275277
});
@@ -282,6 +284,7 @@ test(function () use ($preprocessor) { // insert
282284

283285
Assert::same(reformat([
284286
'sqlite' => "INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', 1320966000)",
287+
'sqlsrv' => "INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11T00:00:00')",
285288
"INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11 00:00:00')",
286289
]), $sql);
287290
Assert::same([], $params);
@@ -324,6 +327,7 @@ test(function () use ($preprocessor) { // multi insert
324327

325328
Assert::same(reformat([
326329
'sqlite' => "INSERT INTO author ([name], [born]) SELECT 'Catelyn Stark', 1320966000 UNION ALL SELECT 'Sansa Stark', 1636585200",
330+
'sqlsrv' => "INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11T00:00:00'), ('Sansa Stark', '2021-11-11T00:00:00')",
327331
"INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11 00:00:00'), ('Sansa Stark', '2021-11-11 00:00:00')",
328332
]), $sql);
329333
Assert::same([], $params);
@@ -338,6 +342,7 @@ test(function () use ($preprocessor) { // multi insert ?values
338342

339343
Assert::same(reformat([
340344
'sqlite' => "INSERT INTO author ([name], [born]) SELECT 'Catelyn Stark', 1320966000 UNION ALL SELECT 'Sansa Stark', 1636585200",
345+
'sqlsrv' => "INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11T00:00:00'), ('Sansa Stark', '2021-11-11T00:00:00')",
341346
"INSERT INTO author ([name], [born]) VALUES ('Catelyn Stark', '2011-11-11 00:00:00'), ('Sansa Stark', '2021-11-11 00:00:00')",
342347
]), $sql);
343348
Assert::same([], $params);

0 commit comments

Comments
 (0)