给出一个字符串形式的测量表(即“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/