oracle - 如何在 edb 中使用相同的 REGEXP_REPLACE(Oracle sql)
问题描述
我正在从 oracle sql 迁移到 edb 并想转换正则表达式替换,但我无法将所有约束带到 edb 等效项。能否请你帮忙。
SET account_no = RTRIM (LTRIM (REGEXP_REPLACE (account_no, '[A-Y]', '', 1, 0, 'i'), ' '), ' ')
我如何将位置(1),出现(0)和匹配参数('i')带入edb。如果我使用相同的,我会收到以下错误
错误:函数 regexp_replace(字符变化,未知,未知,整数,整数,未知)不存在第 2 行:SET customer = RTRIM (LTRIM (REGEXP_REPLACE (customer, '... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。SQL 状态:42883 字符:52
解决方案
PostgreSQL 的实现regexp_replace()
不同于 Oracle 的。文档中提到的函数签名是regexp_replace(source, pattern, replacement [, flags ])
调用regexp_replace(account_no,'[A-Y]','','gi')
将相当于您想要调用regexp_replace(account_no,'[A-Y]','',1,0,'i')
推荐阅读
- algorithm - 标准化 5 星评级以使评级更加统一
- python - 如何从 html 块中检索价格以规避
标签 - swift - 将 Firebase Firestore 时间戳转换为日期(Swift)?
- ios - 如何让我的应用永久显示音量而不是铃声?
- python-3.x - 如何在编译需要 python3 的文件时包含 DIRS 和 LIBRARIES?
- css - 为什么这些边界重叠?
- android - 如何将选定的项目发送到服务器?
- java - Quartz 和 Spring Boot 的问题
- excel - 如何在特定时间自动将数据从一个 Excel 电子表格导出到另一个
- laravel - 使用 Vue 加载 Laravel blase 视图