2009-08-13 8 views
0

ある列の値が '25'という特定の値より大きい場合、列に対して 'Y'または 'N'のいずれかを返す方法がありますか?私はMySQLの場合ZOSSQLの結果のYまたはN

+3

使用するSQLのバージョン/実装(Oracle/SQL Server/MySQLなど)を指定する必要があります。 。) –

+0

申し訳ありません... DB2 zos –

答えて

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以上の場合)、コードを変更する場所は1つだけです。関数を使用すると、複雑さとオーバーヘッドが追加されますが、常に最適なわけではありませんが、このアプローチのメンテナンスの利点を過小評価しません。インラインのCASEよりも、関数の名前をより意味のあるものにすることができ、したがって自己文書化することができます。

関連する問題