我要做的是在Postgres中搜索一个字符串(一个帐号)。我有一个日志表,它有一个参数列,从应用程序中获取参数。它是一段文本,列中存储的参数之一是帐号。
帐号的位置在文本中不一致,此表中的某些行在列中没有任何内容(因为在某些屏幕上没有传递参数)。帐号具有以下格式:L1234567899。因此,对于帐号,第一个字符是一个字母,然后是十个数字。
我正在寻找一种从此列中单独提取帐号的方法,以便我可以在报告的视图中使用它。
到目前为止,我所尝试的是将其变为数组,但由于位置发生变化,我不能指望它在同一个地方。
select foo from regexp_split_to_array(
(select param from log_table where id = 9088), E'\\s+') as foo
答案 0 :(得分:0)
使用substring
拉出匹配组。
select substring ('column text' from '[A-Z]\d{10}')
答案 1 :(得分:0)