在一个更新 SQL 语句 (MS SQL) 中,在特定字符串之前和之后插入空格字符,但保留字符串

Joh*_*ohn 0 sql sql-server

我需要一个更新语句,该语句将运行并在字符串“有效于”之前和之后插入空格。那么在下面的数据中...

\n
\xc2\xa3140,000effective from01-NOV-18\n\xc2\xa340,000effective from01-NOV-18\n\xc2\xa312,000effective from01-NOV-19\n
Run Code Online (Sandbox Code Playgroud)\n

这变成...

\n
\xc2\xa3140,000 effective from 01-NOV-18\n\xc2\xa340,000 effective from 01-NOV-18\n\xc2\xa312,000 effective from 01-NOV-19\n
Run Code Online (Sandbox Code Playgroud)\n

但是,它必须首先检测到该行值尚未被处理,即仅当字符串包含 1x 空格字符时才插入空格

\n

此致

\n

Tim*_*sen 5

您可以使用常规替代品:

UPDATE yourTable
SET data = REPLACE(data, 'effective from', ' effective from ')
WHERE data LIKE '%[0-9]effective from[0-9]%';
Run Code Online (Sandbox Code Playgroud)

此替换仅针对effective from夹在两个数字之间的情况。