当我在不同版本的PHP / PDO_SQLSRV下运行下面的查询时,我得到了不同的结果。我感觉好像缺少明显的东西,例如二进制编码设置?
.SHELLSTATUS
PHP 7.0.8 + php_pdo_sqlsrv 4.1.8819的结果:
$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.3.4 + php_pdo_sqlsrv 5.6.1的结果:
Array
(
[0] => Array
(
[myTest] => 44
)
)
SQL Server 2008 R2的结果: