在postgresql中如何获取以1结尾的所有行?

时间:2015-12-27 14:03:49

标签: sql postgresql

假设我有一个表格如下:

id name  length
1   A     21.5
2   B     12.4
3   C      0
4   D     17
5   E      1

我希望得到:

id name  length
1   A     21.5
5   E      1

表示长度最终为1的所有行。

长度是numeric列。

编程语言非常简单,但对SQL来说似乎并不自然。我怎样才能有效而简单地做到这一点? 我唯一的想法是将字段转换为Text然后在.之后丢失eveything然后将其转换为数组并选择数组长度位置的字母。这将是可行的,但它似乎是一个非常糟糕的解决方案。

1 个答案:

答案 0 :(得分:6)

您可以使用FLOOR和模数除法:

SELECT *
FROM tab
WHERE FLOOR(length) % 10 = 1;

SqlFiddleDemo