SQL-сервер, оператор IF в рамках SQL-запроса

Необходимо использовать UIImagePickerController класс в основном:

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = pickerDelegate
picker.sourceType = UIImagePickerControllerSourceTypeCamera

Эти pickerDelegate объект выше должен реализовать следующий метод:

- (void)imagePickerController:(UIImagePickerController *)picker
           didFinishPickingMediaWithInfo:(NSDictionary *)info

словарь info будет содержать записи для оригинала, и отредактированного изображения, включенного с UIImagePickerControllerOriginalImage и UIImagePickerControllerEditedImage соответственно. (см. https://developer.apple.com/documentation/uikit/uiimagepickercontrollerdelegate и https://developer.apple.com/documentation/uikit/uiimagepickercontrollerinfokey для получения дополнительной информации)

5
задан Eric Leschinski 16 January 2015 в 16:11
поделиться

5 ответов

Или используйте COALESCE ...

SELECT 
COALESCE(salesHeader.[Ship-to Name], poHeader.[Ship-to Name]) AS DeliveryName

COALESCE вернет первое ненулевое значение в списке

9
ответ дан 18 December 2019 в 05:55
поделиться

Используйте CASE, а не IF

CASE 
    WHEN salesHeader.[Ship-to Name] IS NOT NULL THEN salesHeader.[Ship-to Name]
    ELSE poHeader.[Ship-to Name]
END AS DeliveryName

Изменить:

Оба ответа COALESCE и ISNULL в других ответах одинаково действительны для этого конкретного случая (и, честно говоря, проще)

11
ответ дан 18 December 2019 в 05:55
поделиться

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

(CASE WHEN cond-1 THEN value-if-1
      WHEN cond-2 THEN value-if-2
      ELSE default-value END) AS column-name

Или в этой ситуации вы можете использовать COALESCE или ISNULL:

COALESCE(salesHeader.[Ship-to Name], poHeader.[Ship-to Name]) AS DeliveryName

ISNULL(salesHeader.[Ship-to Name], poHeader.[Ship-to Name]) AS DeliveryName
5
ответ дан 18 December 2019 в 05:55
поделиться

Как сказано в gbn, используйте вместо этого оператор CASE.

Поскольку он уже выполнил кодирование, я не хочу повторять то же самое снова.

Вместо этого просто предоставлю вам какой-нибудь сайт, чтобы вы могли понять

a) SQL SERVER - Примеры операторов / выражений CASE и объяснения

b) Функция CASE в SQL Server 2005 - часть I

c) Функция CASE в SQL Server 2005 - часть II

d) Функция CASE в SQL Server 2005 - часть III

2
ответ дан 18 December 2019 в 05:55
поделиться

Не уверен, но разве вам не нужно помещать 'AS DeliveryName' вне IF?

По крайней мере, так это работает в MySQL ...

1
ответ дан 18 December 2019 в 05:55
поделиться