如何基于检测到换行符在SQLite中删除字符串的一部分?

时间:2019-03-26 14:29:37

标签: sql sqlite

在构建SQL查询时需要帮助,该查询将给出以下结果:

我有一张桌子group_message

  

对于列parent_id字段与0不同的所有行

     

影响列content

中的每个字段      

通过删除将在找到的第一个换行符之前出现的所有文本,并保留其余文本(可能包含其他换行符)。

(我的content字段中的大多数在我想摆脱的文本的第一行中都包含一个不需要的类似于标题的元素,并且在所有情况下,该部分之后都会出现换行符我想离开)。

  • parent_id是整数
  • content是BLOB,但所有字段实际上都是纯文本
  • 有一个常规的id列可以帮助处理WHERE语句
  • SQLite 3.27.1

该表中有19.7k行,应该从中影响16.4k

1 个答案:

答案 0 :(得分:0)

通过向dat %>% group_by(region) %>% complete(year, site, species, week) %>% group_by(year, region, site, species, week) %>% summarise(count_clutch = sum( !is.na(gps_clutch) ) ) # A tibble: 64 x 6 # Groups: year, region, site, species [16] year region site species week count_clutch <int> <fct> <int> <fct> <int> <int> 1 2017 nor 2 aio 19 0 2 2017 nor 2 aio 21 0 3 2017 nor 2 aio 23 0 4 2017 nor 2 aio 25 0 5 2017 nor 2 au 19 0 6 2017 nor 2 au 21 1 7 2017 nor 2 au 23 0 8 2017 nor 2 au 25 1 9 2017 nor 5 aio 19 1 10 2017 nor 5 aio 21 0 # ... with 54 more rows 分配在新行char之后开始的子字符串来更新:

content

如果要保留第一个新行字符并仅删除其前面的文本,请删除update group_message set content = substr(content, instr(content, char(10)) + 1) where parent_id <> 0 and content like '%' || char(10) || '%'