2009-08-13 70 views
0

如果某個列的值超過某個數字,例如'25',是否有方法可以讓查詢返回'Y'或'N'列。Y或N在SQL結果中

我使用DB2在zOS

+3

你需要指定你正在使用的SQL的版本/實現(Oracle/SQL Server/MySQL等) ) – 2009-08-13 18:47:43

+0

對不起......這是DB2 zos – 2009-08-13 19:41:02

回答

7
SELECT CASE WHEN Col1 > 25 THEN 'Y' ELSE 'N' END As Value1 
FROM Table1 
0

使用SQL CASE語句

0
SELECT CASE WHERE columnname > 25 THEN 'Y' ELSE 'N' END FROM table; 
0
select 
case when somecolumn > 25 then 'Y' else 'N' end as somename 
from sometable; 
0

Select If(myColumn > 25, 'Y', 'N') From myTable

0
從IF和CASE語句另一個有效方法是在你的列值,並返回Y或N來創建用戶定義的函數饋送

除了。

這有不小的前途如果你在SQL語句上的選擇超過了這個標準,並且在以後的日期你的條件改變 - 超過30說 - 那麼你只有一個地方來改變你的代碼。儘管使用函數會增加複雜性和開銷,因此並不總是最優的,但不要低估這種方法的維護優勢。另外一個小優點是你可以使函數的名字更有意義,因此可以自行記錄,而不是直接插入CASE