当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《在postgresql中如何获取以1结尾的所有行?》经验,为你挑选了1个好方法。

假设我有一个表如下:

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> Lukasz Szozd..:

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

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

SqlFiddleDemo

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有