This commit is contained in:
2023-01-11 15:28:47 +01:00
parent 4c51403daa
commit 05fd209204
7 changed files with 61 additions and 5 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace Core\Driver\SQL\Expression;
use Core\Driver\SQL\SQL;
class Coalesce extends Expression {
private array $values;
public function __construct(mixed ...$values) {
$this->values = $values;
}
function getExpression(SQL $sql, array &$params): string {
$values = implode(",", array_map(function ($value) use ($sql, &$params) {
if (is_string($value)) {
return $sql->columnName($value);
} else {
return $sql->addValue($value, $params);
}
}, $this->values));
return "COALESCE($values)";
}
}