powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Функция DATEADD
23 сообщений из 23, страница 1 из 1
Функция DATEADD
    #39988470
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, друзья!
Заранее прошу прощения т.к. подобный вопрос здесь уже задавал.

Подскажите пожалуйста, мне необходимо из таблицы выгрузить все данные после 8:00 текущего дня и до 8:00 следующего дня.

Сейчас функция работает по такому сценарию:
DATEADD(hour, 8, cast(cast(DATEADD(day, -1, GETDATE()) as date)as datetime))

этот сценарий выгружает данные за прошедшие сутки т.е. 8:00 прошлого дня до 8:00 текущего дня.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988471
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
до 8:00 следующего дня.

Стесняюсь спросить: данные откуда возьмутся за СЛЕДУЮЩИЙ день?

База данных знатного астролога?
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988473
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, все просто, представьте картину есть данные по отключаемым потребителям электроэнергии и эти данные формируются заранее, т.е. формируется план, что 12 августа 2020 года в 12 часов дня в связи с ремонтными работами будет прекращена подача электроснабжения у Иванова Ивана Ивановича
и вот я очень хочу вывести таких потребителей
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988474
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
aleks222, все просто, представьте картину есть данные по отключаемым потребителям электроэнергии и эти данные формируются заранее, т.е. формируется план, что 12 августа 2020 года в 12 часов дня в связи с ремонтными работами будет прекращена подача электроснабжения у Иванова Ивана Ивановича
и вот я очень хочу вывести таких потребителей
Основа любых расчётов/данных на будущее - календарь.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988475
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, если Вас правильно понимаю то календарь я уже использовал, т.е. указывал временной промежуток вручную, а мне необходимо всё это представить в виде DATEADD

where Outage.[createutc] > '2020-08-12T08:00:00+05:00' or Outage.dat > '2020-08-13T08:00:00+05:00'
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988476
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
aleks222, все просто, представьте картину есть данные по отключаемым потребителям электроэнергии и эти данные формируются заранее, т.е. формируется план, что 12 августа 2020 года в 12 часов дня в связи с ремонтными работами будет прекращена подача электроснабжения у Иванова Ивана Ивановича
и вот я очень хочу вывести таких потребителей


Ладно, убедил

Код: sql
1.
2.
3.
4.
where [датавремя] between DATEADD(hour, 8, cast( cast( GETDATE() - 1 as date) as datetime)) and DATEADD(hour, 8, cast( GETDATE() as date) as datetime))

-- извиняюсь
where [датавремя] between DATEADD(hour, 8, cast( cast( GETDATE() as date) as datetime)) and DATEADD(hour, 8, cast( GETDATE() + 1 as date) as datetime))
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988478
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,


aleks222
База данных знатного астролога?

В mssql наконец-то сделали биндинги к libastral
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988479
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96,

Взять 8:00 на сегодня, преобразовать в timestamp, добавить 86400000, преобразовать обратно в дату.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988480
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, я прошу прощения может быть, что-то делаю не так, но у меня выходит ошибка (подчеркивает последний as datetime))

and se_supa_dg.modifyutc between DATEADD(hour, 8, cast( cast( GETDATE() as date) as datetime))
and DATEADD(hour, 8, cast( GETDATE() + 1 as date) as datetime))
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988481
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
where [датавремя] between DATEADD(hour, 8, cast( cast( GETDATE() as date) as datetime)) 
                                    and DATEADD(hour, 8, cast( cast(GETDATE() + 1 as date) as datetime))
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988492
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, Подскажите пожалуйста если я верно понимаю необходимо преобразовать формат даты?
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988494
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
мне необходимо из таблицы выгрузить все данные после 8:00 текущего дня и до 8:00 следующего дня.
Отнять 8 часов и проверить день.
Код: sql
1.
WHERE CAST(DATEADD(HOUR, -8, datetime_column) AS DATE) = needed_date


chasovoy96
Сейчас функция работает по такому сценарию:

У Вас что, время хранится отдельно от даты, что ли???
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988502
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
chasovoy96
до 8:00 следующего дня.

Стесняюсь спросить: данные откуда возьмутся за СЛЕДУЮЩИЙ день?

База данных знатного астролога?


У нас откуда-то берутся данные на несколько месяцев вперед.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988519
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Отнять 8 часов и проверить день.
Код: sql
1.
WHERE CAST(DATEADD(HOUR, -8, datetime_column) AS DATE) = needed_date



В данном случае - лучше жевать.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988524
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
aleks222, Подскажите пожалуйста если я верно понимаю необходимо преобразовать формат даты?

Дык у тебя se_supa_dg.dat СТРОКА, что-ли?
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988571
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, se_supa_dg.dat - se_supa_dg - это таблица, а dat - это столбец
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988581
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
aleks222, se_supa_dg.dat - se_supa_dg - это таблица, а dat - это столбец
Что это и так понятно, вопрос был про тип данных в этом поле.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988586
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov, к сожалению тип данных мне не известен. Хотел бы преобразовать в более привычный (как на картинке снизу), но виду того, что никогда не сталкивался с этим, не представляю как это возможно сделать
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988596
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96
Sergey Sizov, к сожалению тип данных мне не известен.
Получите скрипт создания таблицы в SQL Management Studio и выложите его здесь.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988616
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap, Теперь я Вас понял, благодарю за подсказку.
В таком случае вид скрипта такой.

CREATE TABLE [dbo].[se_supa_dg](
[eso_id] [varchar](50) NULL,
[modifyutc] [varchar](200) NULL,
[dat] [varchar](200) NULL,
[datvplan] [varchar](200) NULL,
[vidotkl] [varchar](200) NULL,
[predpr] [varchar](200) NULL,
[onobkod] [varchar](200) NULL
) ON [PRIMARY]
GO
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988627
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ппц. Что с разделами базистов? Почему у них всегда такая херня со структурой?
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988642
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chasovoy96,

в этой базе хранятся не даты, а текстовые представления дат. Просто строки. Соответственно, чтобы использовать функции даты и времени, текстовые строки необходимо преобразовать в тип DATETIME, например, при помощи CONVERT().
Разумеется, это скажется на производительности.
...
Рейтинг: 0 / 0
Функция DATEADD
    #39988647
chasovoy96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов, я с Вами согласен полностью, сейчас изучаю как возможно это осуществить
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Функция DATEADD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]