У меня есть этот запрос SQL (в T-SQL):
--DECLARE @strTerm varchar(300)
--SET @strTerm = 'c'
SELECT TOP 10
USR_ID
,USR_UserName
FROM T_Benutzer
WHERE (1=1)
--AND {fn LCASE(USR_UserName)} LIKE {fn LCASE(@strTerm + '%')}
AND {fn LCASE(BE_User)} LIKE {fn LCASE({fn CONCAT(@strTerm, '%')} )}
--AND BE_Hide = 0
AND BE_Hide = 'false'
ORDER BY USR_UserName
Затем у меня есть автоматическое преобразование регулярного выражения, которое я могу включить, чтобы сделать верхний синтаксис совместимым с PostgreSQL, который генерируетследующий оператор вывода из оператора ввода:
SELECT
USR_ID
,USR_UserName
FROM T_Benutzer
WHERE (1=1)
AND {fn LCASE(BE_User)} LIKE {fn LCASE({fn CONCAT(@strTerm, '%')} )}
AND BE_Hide = 'false'
ORDER BY USR_UserName
LIMIT 10
Я думал, что этого будет достаточно, чтобы большинство вещей работало на PostgreSQL, но теперь я понимаю, что Npgsql не распознает escape-последовательности ODBC ({fn what ()}).
Есть ли какая-либо опция в настройках строки соединения Npgsql, которую я могу включить, или в самом Postgres?
Или мне не повезло, и мне нужно написать функции выхода ODBC вместо функции?