From cb15a413a79cee09f11408203fa2f32eb54f39bb Mon Sep 17 00:00:00 2001 From: vsivsivsi Date: Sun, 29 Apr 2018 11:05:11 +0300 Subject: [PATCH] Fix ODBC Driver 13 for SQL Server error on null (#16039) --- framework/db/mssql/QueryBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/db/mssql/QueryBuilder.php b/framework/db/mssql/QueryBuilder.php index 993abe7d7e..493e40a403 100644 --- a/framework/db/mssql/QueryBuilder.php +++ b/framework/db/mssql/QueryBuilder.php @@ -334,7 +334,7 @@ class QueryBuilder extends \yii\db\QueryBuilder $columnSchemas = $tableSchema->columns; foreach ($columns as $name => $value) { // @see https://github.com/yiisoft/yii2/issues/12599 - if (isset($columnSchemas[$name]) && $columnSchemas[$name]->type === Schema::TYPE_BINARY && $columnSchemas[$name]->dbType === 'varbinary' && is_string($value)) { + if (isset($columnSchemas[$name]) && $columnSchemas[$name]->type === Schema::TYPE_BINARY && $columnSchemas[$name]->dbType === 'varbinary' && (is_string($value) || $value === null)) { $exParams = []; $phName = $this->bindParam($value, $exParams); $columns[$name] = new Expression("CONVERT(VARBINARY, $phName)", $exParams);