diff --git a/src/Database/Dialect/PostgresDialectTrait.php b/src/Database/Dialect/PostgresDialectTrait.php index 1416bfd72f3..ea26f4bb3c9 100644 --- a/src/Database/Dialect/PostgresDialectTrait.php +++ b/src/Database/Dialect/PostgresDialectTrait.php @@ -101,10 +101,15 @@ protected function _transformFunctionExpression(FunctionExpression $expression) break; case 'DATEDIFF': $expression - ->name('') + ->name('ABS') ->type('-') ->iterateParts(function ($p) { - return new FunctionExpression('DATE', [$p['value']], [$p['type']]); + if( is_string($p) ) + $p = [ 'value' => [$p => 'literal'], 'type' => null ]; + else + $p['value'] = [$p['value']]; + + return new FunctionExpression('DATE', $p['value'], [$p['type']]); }); break; case 'CURRENT_DATE':