Fahid Zahoor Ответов: 1

Выбор данных между двумя датами и временем в SQL server


всем привет. Я столкнулся с проблемой до последних 10 дней, я много раз пытался, но не нашел решения.
Я разрабатываю ресторан POS .
и теперь я делаю отчет для ежедневной продажи я сталкиваюсь с проблемой в SQL-запросе, который получает данные для ежедневной продажи.
Мой ресторан открывается в 13:00, а закрывается в 04:00 завтрашнего дня.
именно так

Дата и время открытия =14.08.2019 & 13:00
Дата и время закрытия =15.08.2019 & 04:00

У нас есть 24 - часовой формат времени.

Я пытаюсь выполнить этот SQL-запрос. Но я всегда получаю результат
Общая сумма продажи=0.00

Пожалуйста, помогите мне

Что я уже пробовал:

ALTER procedure [dbo].[USP_Select_sale_Baseon_Employee]
(
@Emid int,
@Dateofbil  datetime,
@Todate  datetime,
@Fromtime time(7),
@Endtime time(7)
)
as
begin
SELECT        
   coalesce(sum( c.[Receableamount]),0) as 'recevable'
  FROM [dbo].[Customer_Bill_Details] c
  where [EmID]=@Emid and      [Billdate]>=@Dateofbil and BillTime>=@Fromtime and [Billdate]<=@Todate and BillTime<=@Endtime
  end

Maciej Los

Можете ли вы предоставить примерные данные?

1 Ответов

Рейтинг:
1

Gerry Schmitz

В настоящее время у вас есть таинственная дата под названием "сегодня" и некоторые отключенные "времена".

Рассчитайте два "времени дат" для запрашиваемого периода, указав время открытия и закрытия "времени дат"; Затем найдите даты выставления счетов в пределах диапазона (если у вас есть даты "вне" "диапазонов", то у вас, очевидно, есть еще одна проблема).

например, время закрытия = время открытия + 15 часов.

Или же ежедневный отчет за "День2" использует "дату открытия" с "предыдущего" дня для начала периода (если используется правильный учет).