Postgresql 在Postgres中筛选int列的最佳方法
假设我有一张这样的桌子:Postgresql 在Postgres中筛选int列的最佳方法,postgresql,sqlalchemy,Postgresql,Sqlalchemy,假设我有一张这样的桌子: id | value ----|------ 1 | 1200 2 | 3450 3 | 1230 4 | 1245 5 | 4512 id和value都是整数,现在我想筛选其值以12开头的所有行,在这种情况下,我想要这些id:1,3,4 我想出了一些不同的方法: 将值字段转换为字符串,然后使用像或正则表达式进行过滤 使用div将这些值除以100,然后进行比较 使用Shif Right将这些值移位2,然后进行比较 在第一种情况下,我不确定性能,因
id | value
----|------
1 | 1200
2 | 3450
3 | 1230
4 | 1245
5 | 4512
id
和value
都是整数,现在我想筛选其值
以12
开头的所有行,在这种情况下,我想要这些id:1,3,4
我想出了一些不同的方法:
值
字段转换为字符串
,然后使用像
或正则表达式
进行过滤div
将这些值除以100,然后进行比较Shif Right
将这些值移位2,然后进行比较在第三种情况下,我不知道如何做,或者甚至有可能做类似的事情吗?
一般来说,我想知道做这件事的最佳实践是什么,如何做?有没有更好的方法我找不到 此外,我正在使用Postgres和SQLalchemy ORM,
因此,可以接受SQL查询或SQLalchemy查询
其中value>=1200,value<1300
?12呢?还是12000?如果您的值不是1000,您应该澄清可能值的范围。127346582346是否被视为相同的数字?如果有一个固定的数字,并且你知道这个数字,你可以选择你想要的任何“前缀”,加1作为上限,乘以适当的十次方,然后使用@a_horse_和_no_name的解。在这种情况下,我会说cast to text,然后继续。