将split_part和regex用于postgres列

时间:2018-12-05 16:40:37

标签: regex postgresql

我有一列同时包含数字和它们的单位,我试图用正则表达式将其分为两列,但是我不知道如何在split_part中使用正则表达式。有人可以建议吗?

这是示例列:

:=(!(!each_var),

这是我的查询草稿:

|    lot_size1    |
---------+---+-----
| 25,665 Lot SqFt |
| 4,111 Lot SqFt  |
| 14,000 Lot SqFt |
|  Lot SqFt       |
| 40.00 Acres     |

1 个答案:

答案 0 :(得分:1)

使用SUSBTRING

select SUBSTRING ( lot_size1 FROM  '^[0-9,.]+' ) as area ,
       SUBSTRING ( lot_size1 FROM  '[^0-9,.]+' ) as units
       FROM t;

'^[0-9,.]+'-匹配数字,.

的序列

'[^0-9,.]+'-匹配除上面以外的任何内容。

Demo