我在文本列中有一些文字值,我想快速更改。
相关文字值为%S
。
文本列中此类文本的示例是
You're just downloading %S.
或
%S has successfully been updated.
我想更改%S
,以便2个字段可以读取
You're just downloading MySuperApp.
和
MySuperApp has successfully been updated.
字符%本身是SQLite搜索中的运算符,我不知道如何将其包装为某个文本值。
另外,我不知道在单个SQLite语句中只更改文本的一部分所需的SQL命令。 到目前为止,我只更改了整个字段文本,而不是它的某些部分。
答案 0 :(得分:1)
字符%本身是SQLite搜索中的运算符,我不知道如何将其包装为某些文本值。
您可以使用REPLACE
功能(不需要包装它):
WITH cte(t) AS (
VALUES ('You''re just downloading %S.'),
('%S has successfully been updated.')
)
SELECT t, REPLACE(t, '%S', 'MyUserApp') AS replaced
FROM cte;
<强> DBFiddle Demo 强>
或者如果您需要UPDATE
表:
UPDATE tab_name
SET col_name = REPLACE(col_name, '%S', 'specific value')
WHERE col_name LIKE '%^%S%' ESCAPE '^'; -- here you have to escape it
<强> DBFiddle Demo2 强>