【发布时间】:2020-12-26 08:07:20
【问题描述】:
接下来我需要一些帮助。我在 SQL 中有一个字段文本,它记录了一个用“|”分隔的时间列表。例如
'14613|15474|3832|148|5236|5348|1055|524' 每个值都是以毫秒为单位的时间。该字段可以是任意长度,例如完全正确的“3215|2654”或“4565”(只有 1 个值)。我需要获取此字段并将所有数字替换为 -1000 值。
所以 '14613|15474|3832|148|5236|5348|1055|524' 将是 '-1000|-1000|-1000|-1000|-1000|-1000|-1000|-1000'
或“3215|2654”=>“-1000|-1000”或“4565”=>“-1000”。
我尝试使用 regexp_replace(times_field,'[[:digit:]]','-1000','g') 但它会替换每个数字,而不是完整的数字,所以在这个例子中:
“3215|2654”必须是“-1000|-1000”,我得到:
'-1000-1000-1000-1000|-1000-1000-1000-1000',我尝试使用其他组合和更多正则表达式选项,但我已经完成了。
需要你的帮助,谢谢!!!。
【问题讨论】:
标签: sql postgresql replace regexp-replace