如何比较PostgreSQL中列中的值?

时间:2016-03-15 13:26:06

标签: postgresql

我有一个线形文件(st.shp),描绘了感兴趣区域的街道。它包含一个agadt2005列,它是每日每日流量值。作为一名新手PostgreSQL,我知道

Select agadt2005 As adt from st;

从Postgres中的st表返回adt的所有值(数字)。此外,

Select agadt2005 As adt  from st Where agadt2005 >= 500;

返回大于等于500的所有值(它过滤掉小于500的值)。我需要做的是:要将adt值与500进行比较,如果adt值小于500,那么它应该针对同一列中的每个adt返回空值。例如,在下图中:

Basic_query_results

小于500的所有adt值都需要用NULL替换。关于如何做到这一点的任何建议将不胜感激?

1 个答案:

答案 0 :(得分:0)

您可以使用CASE EXPRESSION:

SELECT CASE WHEN agadt2005 < 500
            THEN null
            ELSE agadt2005
       END as adt
FROM st

根本不需要where子句。