2016-03-15 68 views
1

我有一個線形shapefile(st.shp)描繪感興趣的區域的街道。它包含一個每年每日流量值的列agadt2005。作爲新手PostgreSQL,我知道如何比較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返回空值。例如,在下面的圖中:小於500

Basic_query_results

所有ADT值需要由NULL來代替。任何建議如何做到這一點將不勝感激?

回答

0

您可以使用CASE表達式:

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

無需where子句的。

+0

謝謝!它運作良好。使用CASE語句是一個解決方案。 –