Вывод записей прошедшего дня
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 645
- Зарегистрирован: 2008-03-09 11:32:12
- Откуда: Москва
Вывод записей прошедшего дня
Как вывести все записи за прошлый день?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Вывод записей прошедшего дня
timestamp присутствует в таблице ?Gloft писал(а):Как вывести все записи за прошлый день?

Главное в жизни здоровье и любовь, остальное я все куплю.
-
- лейтенант
- Сообщения: 645
- Зарегистрирован: 2008-03-09 11:32:12
- Откуда: Москва
Re: Вывод записей прошедшего дня
да каждой записи соответствует поле с timestamp
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Вывод записей прошедшего дня
Так а в чем проблема... доки читать иногда надо.Gloft писал(а):да каждой записи соответствует поле с timestamp
К примеру:
Код: Выделить всё
SELECT SOME_COLUMN FROM SOME_TABLE WHERE TIMESTAMP_COLUMN = GETDATE() - 1
Главное в жизни здоровье и любовь, остальное я все куплю.
-
- лейтенант
- Сообщения: 645
- Зарегистрирован: 2008-03-09 11:32:12
- Откуда: Москва
Re: Вывод записей прошедшего дня
Почему сразу не догадался. А я все с DATEPART морочился.
-
- лейтенант
- Сообщения: 645
- Зарегистрирован: 2008-03-09 11:32:12
- Откуда: Москва
Re: Вывод записей прошедшего дня
Код: Выделить всё
SELECT SOME_COLUMN FROM SOME_TABLE WHERE TIMESTAMP_COLUMN = GETDATE() - 1
он выводит только те сообщения которые были сделаны вчера в тоже время (час:минуты:секунды) что и текущий запрос
вот то как это в итоге работает у меня:
Код: Выделить всё
SELECT
SOME_COLUMN
FROM
SOME_TABLE
WHERE
DATEPART(dd, TIMESTAMP_COLUMN) = (SELECT DATEPART(dd, (GETDATE()-1)))
AND
DATEPART(mm, TIMESTAMP_COLUMN) = (SELECT DATEPART(mm, (GETDATE()-1)))
AND
DATEPART(yyyy, TIMESTAMP_COLUMN) = (SELECT DATEPART(yyyy, (GETDATE()-1)))
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Вывод записей прошедшего дня
Ну я для примера привел. Даже вашу существующую запись можно переписать парой разных способов )Gloft писал(а):выше приведенный код не со всем то что нужно как оказалосьКод: Выделить всё
SELECT SOME_COLUMN FROM SOME_TABLE WHERE TIMESTAMP_COLUMN = GETDATE() - 1
он выводит только те сообщения которые были сделаны вчера в тоже время (час:минуты:секунды) что и текущий запрос
вот то как это в итоге работает у меня:Код: Выделить всё
SELECT SOME_COLUMN FROM SOME_TABLE WHERE DATEPART(dd, TIMESTAMP_COLUMN) = (SELECT DATEPART(dd, (GETDATE()-1))) AND DATEPART(mm, TIMESTAMP_COLUMN) = (SELECT DATEPART(mm, (GETDATE()-1))) AND DATEPART(yyyy, TIMESTAMP_COLUMN) = (SELECT DATEPART(yyyy, (GETDATE()-1)))
К примеру, не выковыривать по частям дату...а преобразовать к виду "дата без времени"
што то типа так:
Код: Выделить всё
declare @dtm datetime
set @dtm = '2009-11-02 01:11:10.290'
select (convert(datetime,convert(varchar,@dtm,1),1))
------------------------------------------------------
2009-11-02 00:00:00.000
(1 row(s) affected)
Главное в жизни здоровье и любовь, остальное я все куплю.