COALESCE function, null, true, false

This commit is contained in:
yuri
2019-02-15 12:20:23 +02:00
parent a5941e472e
commit 0aab014af1
2 changed files with 15 additions and 0 deletions

View File

@@ -136,12 +136,14 @@ abstract class Base
'FLOOR',
'CEIL',
'ROUND',
'COALESCE',
];
protected $multipleArgumentsFunctionList = [
'CONCAT',
'TZ',
'ROUND',
'COALESCE',
];
protected $matchFunctionList = ['MATCH_BOOLEAN', 'MATCH_NATURAL_LANGUAGE', 'MATCH_QUERY_EXPANSION'];
@@ -582,6 +584,8 @@ abstract class Base
} else if (is_numeric($argument)) {
$string = $this->quote($argument);
return $string;
} else if (in_array(strtoupper($argument), ['NULL', 'TRUE', 'FALSE'])) {
return strtoupper($argument);
}
if (strpos($argument, ':')) {

View File

@@ -593,6 +593,17 @@ class QueryTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expectedSql, $sql);
}
public function testFunction9()
{
$sql = $this->query->createSelectQuery('Comment', [
'select' => ['id', ["COALESCE:(name,FALSE,true,null)", 'value']]
]);
$expectedSql =
"SELECT comment.id AS `id`, COALESCE(comment.name, FALSE, TRUE, NULL) AS `value` FROM `comment` " .
"WHERE comment.deleted = '0'";
$this->assertEquals($expectedSql, $sql);
}
public function testFunctionTZ1()
{
$sql = $this->query->createSelectQuery('Comment', [