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