diff --git a/src/lib/clickhouse.ts b/src/lib/clickhouse.ts index f2ebbb722..570fdd851 100644 --- a/src/lib/clickhouse.ts +++ b/src/lib/clickhouse.ts @@ -77,7 +77,7 @@ function mapFilter(column: string, operator: string, name: string, type: string case OPERATORS.equals: return `${column} = ${value}`; case OPERATORS.notEquals: - return `${column} != ${value}`; + return `(${column} != ${value} OR ${column} = '')`; case OPERATORS.contains: return `positionCaseInsensitive(${column}, ${value}) > 0`; case OPERATORS.doesNotContain: diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index 64cb870fd..1ff00d833 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -78,11 +78,11 @@ function mapFilter(column: string, operator: string, name: string, type: string case OPERATORS.equals: return `${column} = ${value}`; case OPERATORS.notEquals: - return `${column} != ${value}`; + return `(${column} != ${value} OR ${column} IS NULL)`; case OPERATORS.contains: return `${column} ilike ${value}`; case OPERATORS.doesNotContain: - return `${column} not ilike ${value}`; + return `(${column} not ilike ${value} OR ${column} IS NULL)`; default: return ''; }