Oracle SQL 问题中 replace() 内部的较低函数
lower function inside replace() in Oracle SQL Problem
我正在搜索模式“hello world”并替换为 Hello Bob。
这里我要匹配hello world的所有模式。问题是我们无法在替换函数中匹配两种模式。所以我把它调低并更换。
作为结果,它将整个字符串变为小写。
“这是 Hello Bob 程序!这是 Hello Bob 程序”
但我想要它作为“T他是你好鲍勃Program!。T他是你好鲍勃 Program
这是查询:
select replace(lower('This is Hello World Program!. This is hello world Program'),lower('Hello world'),'Hello Bob') from dual;
有什么建议吗
您收到的结果都是小写的,因为您正在对源字符串执行 LOWER
函数。您可以使用 REGEXP_REPLACE 而不是使用 REPLACE
,因为该函数能够忽略区分大小写。
SELECT REGEXP_REPLACE ('This is Hello World Program!. This is hello world Program',
'Hello world',
'Hello Bob',
1,
0,
'i')
FROM DUAL;
我正在搜索模式“hello world”并替换为 Hello Bob。
这里我要匹配hello world的所有模式。问题是我们无法在替换函数中匹配两种模式。所以我把它调低并更换。
作为结果,它将整个字符串变为小写。 “这是 Hello Bob 程序!这是 Hello Bob 程序”
但我想要它作为“T他是你好鲍勃Program!。T他是你好鲍勃 Program
这是查询:
select replace(lower('This is Hello World Program!. This is hello world Program'),lower('Hello world'),'Hello Bob') from dual;
有什么建议吗
您收到的结果都是小写的,因为您正在对源字符串执行 LOWER
函数。您可以使用 REGEXP_REPLACE 而不是使用 REPLACE
,因为该函数能够忽略区分大小写。
SELECT REGEXP_REPLACE ('This is Hello World Program!. This is hello world Program',
'Hello world',
'Hello Bob',
1,
0,
'i')
FROM DUAL;