2009-08-13 2 views
0

Есть ли способ, чтобы запрос возвращал либо «Y», либо «N» для столбца, если этот столбец имеет значение выше определенного числа «25».Y или N в результате SQL

Я использую DB2 на ЗР

+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
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 .

Это имеет незначительное преимущество tage, который, если вы выберете этот критерий более чем на SQL-заявлении, а на более позднем этапе ваше состояние изменится - до более 30 слов - тогда у вас есть только одно место для изменения вашего кода. Хотя использование функции добавляет сложности и накладные расходы, поэтому не всегда оптимально, не стоит недооценивать преимущества обслуживания этого подхода. Небольшой плюс - вы можете сделать имя функции чем-то более значимым и, следовательно, самодокументирующимся, чем встроенный CASE

Смежные вопросы