Доступ к SQL: функция IFF - PullRequest
2 голосов
/ 16 марта 2011

Я раньше не использовал доступ, но мне нужно преобразовать запрос доступа в SQL, чтобы я мог написать отчет в кристалле.

В настоящее время запрос использует функцию IFF в своем операторе выбора, который, по-видимому, определяет, чтозначение будет возвращено в зависимости от значения таблицы для определенного столбца.

Так, например, если значение равно «CR», оно должно быть возвращено как «credit», а если это «NCR», оно должно быть возвращено как «non-credit "

Можно ли сделать что-то подобное в SQL?

Ответы [ 3 ]

8 голосов
/ 16 марта 2011

Используйте выражение CASE .

CASE WHEN SomeColumn = 'CR' THEN 'credit'
     WHEN SomeColumn = 'NCR' THEN 'non-credit'
END
1 голос
/ 17 марта 2011

В дополнение к выражениям CASE база данных Oracle также поддерживает функцию DECODE ().

SELECT DECODE(value, 'CR', 'Credit', 'NCR', 'Non-Credit') from table;

В некоторых случаях может быть полезно использовать функцию DECODE () вместо выражения CASE,но я бы рекомендовал придерживаться CASE.

1 голос
/ 16 марта 2011

Вы можете использовать оператор CASE:

SELECT CASE WHEN [value] = 'CR' THEN 'Credit' WHEN [Value] = 'NCR' THEN 'non-credit' END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...