给出一个字符串形式的测量表(即“4.6英寸,3毫米”,“长度:4.66英寸”,等等),只要数字匹配,我想检索基本上包含数字左边或右边任何内容的行。
换句话说,如果我在搜索“6”:
匹配:“6英寸”、“6英寸”、“asdf 6英寸”等
不匹配:“16英寸”、“6.6英寸”、“66英寸”等
到目前为止,我有以下疑问:

select distinct length from items where length ~ '[[:<:]]6[[:>:]]';

但这并不完全是我想要的,因为这就是结果:
     length
---------------
 6.25 Inches
 4.6666 Inches
 6.5 Inches
 1.66 Inches
 6 Inches
 6.75 Inches
 6.71 Inches
 24.6 Inches
 3.6666 Inches

我在用PostgreSQL 9。任何帮助都将不胜感激。谢谢

最佳答案

怎么样:

'^[^0-9]*6[^0-9]*$'

关于regex - PostgreSQL模式匹配数字的字符串列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6130169/

10-12 19:46