我想用' || 替换所有' 。但是,我只会替换'第一个单词开始(不区分大小写)。我们可能有多个BEGIN,但是一旦我第一次遇到单词begin,我想在开始之后替换所有出现的内容。
这是我的代码,无例外地取代ALL:
regexp_replace(column_name, ''',', '''||', 1, 0, 'i');
由于
答案 0 :(得分:2)
您只需在列中找到第一个单词开始的位置,然后添加到calls the .Dispose()
method的regexp_replace(column_name, ''',', '''||', regexp_instr(column_name, '\sbegin\s', 1, 1, 0, 'i'), 0, 'i');
参数
所以你应该使用这个
Gary_W
编辑:根据begin
的建议,您应该考虑使用关键字'\ sbegin \ s'(在上面的代码中更新)以避免找到错误的字当function get_beginning_status
是\s
等其他字词的一部分时。
P / S:如果non-breaking-space
中的字符串文字有column_name
line break
代替SELECT
LOTS.LOTNUMBER, TRANS.ITEMNUMBER, TRANS.DESCRIPTION,
TRANS.TRANSACTIONTYPE, TRANS.TRANSACTIONDATE, TRANS.WAREHOUSE,
TRANS.QUANTITY
FROM
LOTS
INNER JOIN
TRANS ON LOTS.LOTNUMBER = TRANS.LOTNUMBER
WHERE
LOTS.CURRENTQUANTITY > 0