Когда я запускаю запрос ниже в разных версиях PHP / PDO_SQLSRV, я получаю другой результат.Мне кажется, что я упускаю что-то очевидное, например, параметр двоичной кодировки?
$hex = '0x44';
$sSQL = "
DECLARE @hex nvarchar(6) = :hex
SELECT CONVERT(VARBINARY(2), @hex, 1) myTest
";
$stmt = $this->rms->prepare($sSQL);
$stmt->bindParam(':hex',$hex);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
Результат из PHP 7.0.8 + php_pdo_sqlsrv 4.1.8819:
Array
(
[0] => Array
(
[myTest] => 44
)
)
Результат из PHP 7.3.4 + php_pdo_sqlsrv 5.6.1:
Array
(
[0] => Array
(
[myTest] => D
)
)
Результат из SQL Server 2008 R2: