diff --git a/extension/Classes/Sql/function.sql b/extension/Classes/Sql/function.sql index ff3548108b759daa063a6ebf6742af45a8e31d21..3e6d92bafe3773fa93508bdc40fd41bf95720128 100644 --- a/extension/Classes/Sql/function.sql +++ b/extension/Classes/Sql/function.sql @@ -81,7 +81,7 @@ CREATE FUNCTION QIFEMPTY(input TEXT, token TEXT) BEGIN DECLARE output TEXT; SET output = - IF(ISNULL(input) OR input = '' OR input = '0000-00-00' OR input = '0000-00-00 00:00:00', token, + IF(ISNULL(input) OR input = '' OR input = '0' OR input = '0000-00-00' OR input = '0000-00-00 00:00:00', token, input); RETURN output; END; diff --git a/extension/Tests/Unit/Core/Database/DatabaseFunction.php b/extension/Tests/Unit/Core/Database/DatabaseFunction.php index 92a68939c4b179eab2a894b1ec52484bc29084ab..8106b9b392ea82e730de8f421c25b0dc034674b1 100644 --- a/extension/Tests/Unit/Core/Database/DatabaseFunction.php +++ b/extension/Tests/Unit/Core/Database/DatabaseFunction.php @@ -65,8 +65,17 @@ class DatabaseFunction extends AbstractDatabaseTest { public function testQIfEmpty() { $this->assertEquals('test', $this->db->sql('SELECT QIFEMPTY("test","-")', ROW_IMPLODE_ALL)); + $this->assertEquals('<', $this->db->sql('SELECT QIFEMPTY("<","-")', ROW_IMPLODE_ALL)); + + $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY(null,"-")', ROW_IMPLODE_ALL)); $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY("","-")', ROW_IMPLODE_ALL)); + $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY("0","-")', ROW_IMPLODE_ALL)); + $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY(0,"-")', ROW_IMPLODE_ALL)); + + $this->assertEquals('1', $this->db->sql('SELECT QIFEMPTY("1","-")', ROW_IMPLODE_ALL)); + $this->assertEquals('1', $this->db->sql('SELECT QIFEMPTY(1,"-")', ROW_IMPLODE_ALL)); + $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY("0000-00-00","-")', ROW_IMPLODE_ALL)); $this->assertEquals('-', $this->db->sql('SELECT QIFEMPTY("0000-00-00 00:00:00","-")', ROW_IMPLODE_ALL)); }