. Fixed bug #74243 (allow locales.conf to drive datetime format). (fandrieu)
. Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO
instance. (fandrieu)
+ . Treat DATETIME2 columns like DATETIME. (fandrieu)
- PDO_OCI:
. Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
# define SQLDATETIME SYBDATETIME
# define SQLDATETIM4 SYBDATETIME4
# define SQLDATETIMN SYBDATETIMN
+# ifdef SYBMSDATETIME2
+# define SQLMSDATETIME2 SYBMSDATETIME2
+# endif
# define SQLMONEY SYBMONEY
# define SQLMONEY4 SYBMONEY4
# define SQLMONEYN SYBMONEYN
--- /dev/null
+--TEST--
+PDO_DBLIB: DATETIME2 column data
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo_dblib')) die('skip not loaded');
+require __DIR__ . '/config.inc';
+if (in_array($db->getAttribute(PDO::DBLIB_ATTR_TDS_VERSION), ['4.2', '4.6', '5.0', '6.0', '7.0', '7.1', '7.2'])) die('skip feature unsupported by this TDS version');
+?>
+--FILE--
+<?php
+require __DIR__ . '/config.inc';
+
+$sql = "SELECT convert(datetime2, '10231017 10:22:44.1355318') AS [d]";
+
+var_dump($db->getAttribute(PDO::DBLIB_ATTR_DATETIME_CONVERT));
+
+$stmt = $db->query($sql);
+var_dump($stmt->fetch(PDO::FETCH_ASSOC));
+
+$db->setAttribute(PDO::DBLIB_ATTR_DATETIME_CONVERT, 1);
+var_dump($db->getAttribute(PDO::DBLIB_ATTR_DATETIME_CONVERT));
+$stmt = $db->query($sql);
+var_dump($stmt->fetch(PDO::FETCH_ASSOC));
+
+?>
+--EXPECT--
+bool(false)
+array(1) {
+ ["d"]=>
+ string(19) "1023-10-17 10:22:44"
+}
+bool(true)
+array(1) {
+ ["d"]=>
+ string(30) "Oct 17 1023 10:22:44:1355318AM"
+}