From ea68b54d2db8c61941746c61e4e74ee1b56c560c Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Sat, 7 Jan 2023 13:48:51 +0800 Subject: [PATCH] fix(nocodb): SUBSTR for postgres --- .../db/sql-data-mapper/lib/sql/functionMappings/pg.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/functionMappings/pg.ts b/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/functionMappings/pg.ts index 1157d853cf..93f3296ff5 100644 --- a/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/functionMappings/pg.ts +++ b/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/functionMappings/pg.ts @@ -138,6 +138,16 @@ const pg = { .toQuery()} THEN 1 ELSE 0 END ${args.colAlias}` ); }, + SUBSTR: ({ fn, knex, pt, colAlias }: MapFnArgs) => { + const str = fn(pt.arguments[0]); + const positionFrom = fn(pt.arguments[1] ?? 1); + const numberOfCharacters = fn(pt.arguments[2] ?? ''); + return knex.raw( + `SUBSTR(${str}::TEXT, ${positionFrom}${ + numberOfCharacters ? ', ' + numberOfCharacters : '' + })${colAlias}` + ); + }, }; export default pg;