可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14

REGEXP_REPLACE

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

REGEXP_REPLACE() 函数在一个字符串中搜索正则表达式模式,并替换所有或第一个出现的字符串。

不同的供应商提供此函数的不同版本,因此 jOOQ 将它们标准化为两个合成函数

  • REGEXP_REPLACE_ALL()
  • REGEXP_REPLACE_FIRST()

例如

SELECT
  regexp_replace_all('hello', 'l', ''),
  regexp_replace_first('hello', 'l', '');
create.select(
  regexpReplaceAll(val("hello"), "l", ""),
  regexpReplaceFirst(val("hello"), "l", "")).fetch();

结果是

+--------------------+----------------------+
| regexp_replace_all | regexp_replace_first |
+--------------------+----------------------+
| heo                | helo                 |
+--------------------+----------------------+

方言支持

此示例使用 jOOQ

regexpReplaceAll(val("hello"), "l", "")

翻译成以下特定方言的表达式

Aurora MySQL, DB2, H2, HSQLDB, MariaDB, MySQL, Oracle, Redshift, Snowflake, Teradata, Vertica

regexp_replace('hello', 'l', '')

Aurora Postgres, CockroachDB, MemSQL, Postgres, YugabyteDB

regexp_replace('hello', 'l', '', 'g')

ClickHouse

replaceRegexpAll('hello', 'l', '')

Hana

replace_regexpr('l' IN 'hello' WITH '')

Informix

regex_replace('hello', 'l', '')

ASE, Access, BigQuery, Databricks, Derby, DuckDB, Exasol, Firebird, SQLDataWarehouse, SQLServer, SQLite, Sybase, Trino

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗?我们很乐意听到!

The jOOQ Logo