Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在Oracle的REGEXP\u REPLACE中使用列引用?_Database_Oracle_Oracle11g_Oracle12c - Fatal编程技术网

Database 如何在Oracle的REGEXP\u REPLACE中使用列引用?

Database 如何在Oracle的REGEXP\u REPLACE中使用列引用?,database,oracle,oracle11g,oracle12c,Database,Oracle,Oracle11g,Oracle12c,我的脚本如下所示: SELECT regexp_replace(column1,'"resId":([^"]+?)..','"resId":column2,"') FROM table; 这里,我需要将第1列中的resId值替换为第2列中的值。如果没有示例数据和预期输出,很难判断您到底想要什么 似乎您希望转换这样的模式-“resId”:Value1,“otherid”:othervalue 请注意,我考虑了 “resID”:数据中存在值,并且这些键值对之间有分隔符(空格或逗号)

我的脚本如下所示:

SELECT
    regexp_replace(column1,'"resId":([^"]+?)..','"resId":column2,"')
FROM
    table;

这里,我需要将第1列中的resId值替换为第2列中的值。

如果没有示例数据和预期输出,很难判断您到底想要什么

似乎您希望转换这样的模式-
“resId”:Value1,“otherid”:othervalue

请注意,我考虑了
“resID”:数据中存在值,并且这些键值对之间有分隔符(空格或逗号)

(,|$)
表示
值之后的逗号分隔符或行尾。您可以将其更改为在数据中包含任何分隔符,将其与其他组合区分开来。如果没有这样的事情,而且数据比这更纯净,您应该注意通过编辑您的问题来清楚地描述它,这可能有助于我们为您提供适当的解决方案

查询

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

如果没有样本数据和预期输出,很难判断您到底想要什么

似乎您希望转换这样的模式-
“resId”:Value1,“otherid”:othervalue

请注意,我考虑了
“resID”:数据中存在值,并且这些键值对之间有分隔符(空格或逗号)

(,|$)
表示
值之后的逗号分隔符或行尾。您可以将其更改为在数据中包含任何分隔符,将其与其他组合区分开来。如果没有这样的事情,而且数据比这更纯净,您应该注意通过编辑您的问题来清楚地描述它,这可能有助于我们为您提供适当的解决方案

查询

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

列2
值连接到替换字符串中:

SELECT regexp_replace(
         column1,
         '"resId":([^"]+?),"','"resId":' || column2 || ',"'
       )
FROM   table;
但是,如果您的数据是格式良好的JSON,并且
“resId”
值将是一个简单的文本(而不是数组或对象),那么您可以使用正则表达式来解析以下内容:

'("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")'

Oracle 11g R2架构设置

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.
查询1

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

列2
值连接到替换字符串中:

SELECT regexp_replace(
         column1,
         '"resId":([^"]+?),"','"resId":' || column2 || ',"'
       )
FROM   table;
但是,如果您的数据是格式良好的JSON,并且
“resId”
值将是一个简单的文本(而不是数组或对象),那么您可以使用正则表达式来解析以下内容:

'("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")'

Oracle 11g R2架构设置

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.
查询1

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

SELECT column1,
       column2,
       regexp_replace(column1,'"resId":[^"]+(,|$)','"resId":' || column2 || '\1') as replaced
FROM t
|                             COLUMN1 | COLUMN2 |                            REPLACED |
|-------------------------------------|---------|-------------------------------------|
| "resId":Value1,"otherid":othervalue |  Value2 | "resId":Value2,"otherid":othervalue |
| "otherid":othervalue,"resId":Value1 |  Value2 | "otherid":othervalue,"resId":Value2 |
CREATE TABLE table_name ( column1, column2 ) AS
  SELECT '{"resId":null}', 1 FROM DUAL UNION ALL
  SELECT '{"resId":true}', 2 FROM DUAL UNION ALL
  SELECT '{"resId":false}', 3 FROM DUAL UNION ALL
  SELECT '{"resId":123}', 4 FROM DUAL UNION ALL
  SELECT '{"resId":""}', 5 FROM DUAL UNION ALL
  SELECT '{"resId":"\r\n"}', 6 FROM DUAL UNION ALL
  SELECT '{"resId":"test"}', 7 FROM DUAL UNION ALL
  SELECT '{"resId":"' || CHR(13) || CHR(10) || '"}', 8 FROM DUAL;
SELECT column1,
       column2,
       regexp_replace(
         column1,
         '("resId":)(null|true|false|(-?0|[1-9]\d*)(\.\d*)?([eE][+-]?\d+)?|"(\\["\/bfrnt]|\\u\d{4}|[^"\/'||CHR(8)||CHR(9)|| CHR(10)||CHR(12)||CHR(13)||'])*")',
         '\1' || column2
       ) As repl
FROM   table_name
|          COLUMN1 | COLUMN2 |           REPL |
|------------------|---------|----------------|
|   {"resId":null} |       1 |    {"resId":1} |
|   {"resId":true} |       2 |    {"resId":2} |
|  {"resId":false} |       3 |    {"resId":3} |
|    {"resId":123} |       4 |    {"resId":4} |
|     {"resId":""} |       5 |    {"resId":5} |
| {"resId":"\r\n"} |       6 |    {"resId":6} |
| {"resId":"test"} |       7 |    {"resId":7} |
|       {"resId":" |       8 |     {"resId":" | -- Note: not well-formed JSON 
|               "} |         |             "} | -- so did not get matched.

您可能希望包括表定义、一些示例数据和预期结果。就目前而言,您的问题并不特别清楚。可能在您的专栏上使用
REGEXP\u SUBSTR
。2提取所需的值,然后在
REGEXP\u replace
中使用它。请检查我的答案,如果它对您有帮助,请接受,或者为给定的解决方案提供相关反馈(评论)。请阅读:stackoverflow.com/help/someone-answers以了解其重要性。您可能希望包括表定义、一些示例数据和预期结果。就目前而言,您的问题并不特别清楚。可能在您的专栏上使用
REGEXP\u SUBSTR
。2提取所需的值,然后在
REGEXP\u replace
中使用它。请检查我的答案,如果它对您有帮助,请接受,或者为给定的解决方案提供相关反馈(评论)。请阅读:stackoverflow.com/help/someone-answers了解它的重要性。