SQLRU.net - RDF-канал
type: channel
description: Разработка приложений баз данных
items: Опциональное условие в WHERE
items: Re: Опциональное условие в WHERE

Опциональное условие в WHERE
type: item
description: Всем добрый день! У меня есть задача - написать скрипт, имеющий в конструкции WHERE опциональные условия. Например: select * from table where age = {age} , где {age} - это некий параметр, который будет подставлять сервис. Этот параметр является опциональным, т.е. его может не быть и тогда ожидается, что скрипт вернет данные по всем значениям атрибута age Подскажите пожалуйста, можно ли и что написать в условии скрипта, чтобы он возвращал либо данные по запрошенным возрастам, либо по всем возрастам в случае, если параметр не передан сервисом, т.е. равен NULL?
creator: BRAEDEN
date: 2024-07-17T12:53:51-00:00

Re: Опциональное условие в WHERE
type: item
description: А скрипт как выполняется и формируется? Это классический случай для динамического sql. Если значение параметра не передано, то условие просто не включается в запрос.
creator: BlackEric
date: 2024-07-19T10:12:27-00:00

Re: Опциональное условие в WHERE
type: item
description: BlackEric писал(а) Fri, 19 July 2024 13:12 Это классический случай для динамического sql. С чего вы взяли, что это классический случай? Для чего использовать динамический запрос, если можно просто проверить параметр на null? select * from table where p_age ISNULL OR age = {p_age}
creator: iLinkses
date: 2024-08-08T10:27:52-00:00

Re: Опциональное условие в WHERE
type: item
description: А с чего вы взяли, что там NULL обязательно будет? ТСу надо или условие с AGE (больше, меньше, равно - не суть) или вообще все записи вне зависимости, что там в AGE поле... Может запрос тупо в процедуру обернуть? if (age is NULL) then select .... from else select ... from ... where age=?age
creator: DarkMaster
date: 2025-01-10T15:06:24-00:00