У меня есть следующий формат таблицы;Преобразование флагов месяца в даты в SQL
tripID
departureDate (date)
availableJan (bit)
availableFeb (bit)
availableMar (bit)
availableApr (bit)
availableMay (bit)
availableJun (bit)
availableJul (bit)
availableAug (bit)
availableSep (bit)
availableOct (bit)
availableNov (bit)
availableDec (bit)
Поездки будут либо выбора любого из доступных «» флагов или дату вылета.
Что я пытаюсь сделать, это функция базы данных, которая преобразует флаги в полезную дату на основе текущей даты.
Так что, если поездка имеет нулевую дату вылета и доступен Август, сентябрь, октябрь, то учитывая текущую дата 8 мая 2016 года я хотел бы функцию, чтобы вернуть дату 1-го августа 2016 года
логика заключается в том, что функция возвращает первый день следующего доступного месяца с текущей даты.
Другие примеры, например. сегодня дата 06/06/2016;
месяц флаги, как истинные: январь, февраль, март
Ожидаемые результаты: 1-Jan 2017
месяц флаги как истинные: Ян, Июнь
Ожидаемые результаты: 1-е июня 2016
месяц флаги, как истинный : июнь, июль, август, декабрь
Ожидаемые результаты: 1 июня 2016
я пошел по кругу, пытаясь большим, если заявления, временные таблицы, но я задавался вопросом, есть ли более умный способ достижения этой ТНА t не убивает процессор.
Любая помощь очень ценится,
Спасибо,
Ник
Умный ответ и хорошие рассуждения! благодаря – Grenville