首页 > 解决方案 > 您如何识别文本中的一组 2 或 3 位数字?postgresSQL

问题描述

我想找到“描述”中有 2 位或 3 位数字的实例。

桌子就像

id | description 
--- ------------
 1 | This is 40cm long. 
 2 | The dog is black.

我认为这应该是一个简单的查询,并希望得到任何帮助。

我努力了

SELECT id, description
FROM table
WHERE description LIKE '%[0-9]%' or description LIKE '%[0-9][0-9]%'

尽管我认为它应该返回,但它没有返回任何结果

id | description 
--- ------------
 1 | This is 40cm long. 

谢谢

标签: sqlpostgresqlstring-matching

解决方案


在 Postgres 中,使用正则表达式。这匹配 1 个或两个数字(如代码中所示):

WHERE description ~ '[0-9]{1,2}' 

这匹配 2 或 3(如描述中所示):

WHERE description ~ '[0-9]{2,3}' 

推荐阅读