2015-06-04 63 views
0

我用簡單的選擇查詢:如何在PostgreSQL中選擇查詢後設置一個值?

SELECT 
    transactiontype 
FROM 
    posfeed 
LIMIT 100; 

我結果,我有一些行空值。 我需要在某些字段的SELECT查詢結果中設置一些默認值。

喜歡的東西:

if (transactiontype = '') { 
    //SET SOME VALUE HERE 
} else { 
    //LEAVE 
} 
+1

這些值是否爲空值字符串? –

+0

空字符串.. –

+2

然後,您可以使用'SELECT CASE WHEN transactiontype =''THEN'some_default_value'ELSE transactiontype END AS transactiontype ...' –

回答

0

和我可以以某種方式使用它「其中」條款

要使用列別名在where子句中,必須用選擇成派生表:

select * 
from (
    SELECT CASE transactiontype 
      WHEN '' THEN 'some_default_value' 
      ELSE transactiontype 
     END AS transactiontype 
    FROM the_table 
) t 
where transactiontype = '...'; 

但我不知道「看不到這樣做的原因,如果你想找到那些返回some_default_value只需運行:

SELECT CASE transactiontype 
      WHEN '' THEN 'some_default_value' 
     ELSE transactiontype 
     END AS transaction_type 
FROM the_table 
where transactiontype = ''; 

。但是那並不真正有意義,因爲上面的等價於:

SELECT 'some_default_value' 
FROM the_table 
where transactiontype = ''; 

所以我想你有沒有在問題或你的意見中包括的東西。

相關問題