sqlite - 用另一个包含换行符的字符串替换一个字符串的 SQLite 查询是什么?
问题描述
我想替换); "在 "Note" 列中使用)Carriage Return",但条件是 "Phrase" 列 (BOOL) 设置为 TRUE。我尝试使用以下查询,但没有奏效:
SELECT
*
FROM "Slovník";
UPDATE Slovník
WHERE Phrase = 1
SET Note = replace(Note, '); "', ')CHAR(13)"');
换句话说,在上述条件下,我想在我的数据库中的 Note 列中用换行符替换分号:[screenshot][1]
为了避免分号在其他地方被替换(在句子示例之间之外的地方),我必须包含额外的字符,例如); "
(如果我的问题不够清楚,请告诉我,我会尽力澄清。)
解决方案
将连接运算符||
与函数一起使用,CHAR()
并且不要将函数包含在单引号内:
UPDATE [Slovník]
SET Note = replace(Note, '); "', ')' || CHAR(13) || '"')
WHERE Phrase = 1
最好使用这个WHERE
子句:
WHERE Phrase = 1 AND Note LIKE '%); "%'
以避免对不包含'); "'
.
推荐阅读
- c# - 正则表达式将 SQL INSERT 语句转换为键值字典
- python - Selenium w/Python3 - AttributeError:'str'对象没有属性'tag_name'
- javascript - 如何检查值是否与另一个值在同一“十年”中?
- reactjs - 用 JSON 反应表单问题
- session - 检查帖子作者是否等于登录用户
- php - 'where 子句'中的未知列'users.user_id'
- postgresql - bacular-dir 升级后不启动 (Ubuntu 16.04)
- python - 获取用户在 Flask 中的位置
- html - 在 HTML 上的 Excel 预览
- uber-api - 访问优步司机 API