Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / запрос на выборку за "вчера" / 20 сообщений из 20, страница 1 из 1
21.03.2011, 11:46
    #37175007
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
Доброе утро!

У меня задание каждый день делать выборку за вчерашний день, запросы для етого есть, но каждый раз мне нужно менять дату на вчерашнюю, столбцов много и менять много... + я хочу сделать представление... как в запросе указать вчерашнюю дату чтобы не менять каждый день

select * from table1 where [условие запроса1]...[условие запросаN] and date like '2011-03-20%'
....

вот с етим date like '2011-03-20%' нужно чтото сделать
...
Рейтинг: 0 / 0
21.03.2011, 12:38
    #37175154
запрос на выборку за "вчера"
Вчерашний день находится так:


select DATEADD(day,-1,GETDATE())

2011-03-20 11:34:52
...
Рейтинг: 0 / 0
21.03.2011, 13:03
    #37175225
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
Ну даты выводит, а как их в условие запроса втулить? переменную вводить? или можно както попроще
...
Рейтинг: 0 / 0
21.03.2011, 13:42
    #37175317
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan , используй CURRENT_DATE

Код: plaintext
1.
SELECT * FROM Employees 
     WHERE dob = CURRENT_DATE

Если верить документации
авторПо умолчанию, CURRENT_DATE возвращает дату в формате:
Код: plaintext
дд / мм / гггг
Чтобы указать другой формат даты, использовать TO_DATE функции. Чтобы изменить формат даты по умолчанию, использование SET OPTION команду с DATE_FORMAT, YEAR_OPTION, или DATE_SEPARATOR вариантов.
Чтобы вернуться только текущую дату, используйте CURRENT_DATEили CURDATE . Эти функции возвращают их значения в тип данных DATE.CURRENT_TIMESTAMP , GETDATE и сейчас функции могут также быть использована для получения текущей даты и времени, как тип данных TIMESTAMP.
Эти типы данных работают по-разному при использовании встроенного SQL. ДАТА типа данных хранятся значения как целые числа в $ HOROLOG формате; при отображении в SQL они преобразуются в формат даты дисплей, когда вернулся из встроенного SQL они возвращаются в виде целых чисел. Данных TIMESTAMP тип магазинов и отображает ее значение в том же формате. Вы можете использовать CONVERT функцию для изменения типа данных даты и времени.
CURRENT_DATEможет быть использован в качестве спецификации ключевых слов по умолчанию в CREATE TABLE или ALTER TABLE .
...
Рейтинг: 0 / 0
21.03.2011, 13:48
    #37175331
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan , у меня работает и так

Код: plaintext
1.
2.
3.
4.
5.
SELECT
 * 
FROM
 <таблица>
WHERE
 <поле> = (CURRENT_DATE- 1 )
...
Рейтинг: 0 / 0
21.03.2011, 14:39
    #37175464
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
krvsa,

просто Current_date работает, я уже ето пробовал, а вот с -1 или -5 нет, ничего не выводит
...
Рейтинг: 0 / 0
21.03.2011, 14:53
    #37175500
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fanс -1 или -5 нет, ничего не выводит
Чему CURRENT_DATE у тебя равна?
...
Рейтинг: 0 / 0
21.03.2011, 14:59
    #37175516
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fanпросто Current_date работает, я уже ето пробовал, а вот с -1 или -5 нет, ничего не выводит
Я еще раз посмотрел - таки работает

Код: plaintext
1.
2.
3.
4.
5.
select
 Title,dBeg,dEnd,dSet
from
 wrk.Stage
where
 dSet>(CURRENT_DATE- 10 )
...
Рейтинг: 0 / 0
21.03.2011, 15:01
    #37175520
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
krvsa,

03/21/2011
...
Рейтинг: 0 / 0
21.03.2011, 15:01
    #37175521
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan , вот мой класс...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
Include ft

/// Этапы
Class wrk.Stage Extends (%Persistent, %ZEN.DataModel.Adaptor)
{

/// Начало
Property dBeg As %Date(FORMAT =  3 );

/// Окончание
Property dEnd As %Date(FORMAT =  3 );

/// Исполнитель
Relationship Member As wrk.Member [ Cardinality = one, Inverse = Stage ];

Index MemberIndex On Member;

/// Описание выполненых работ
Property Text As %Text(LANGUAGECLASS = "%Text.Russian", MAXLEN =  4000 );

/// Название этапа
Property Title As %String(MAXLEN =  200 );

/// Связь с работой
Relationship Job As wrk.Job [ Cardinality = one, Inverse = Stage ];

Index JobIndex On Job;

/// Связь с целью
Relationship Purpose As wrk.Purpose [ Cardinality = one, Inverse = Stage ];

Index PurposeIndex On Purpose;

/// Установлена в версию
Property dSet As %Date(FORMAT =  3 );

/// Состав, список измененных элементов
Property Structure As %String(MAXLEN =  1000 );

/// Связь с отчетами за месяц
Relationship RepMon As wrk.RepMon [ Cardinality = one, Inverse = Stage ];

Index RepMonIndex On RepMon;

/// Не брать в отчет за месяц
Property RepBlock As %Boolean;

Relationship Grading As wrk.Grading [ Cardinality = one, Inverse = Stage ];

Index GradingIndex On Grading;

/// Приоритет для месячного отчета
Property RepPrio As %Integer;

Relationship Vers As wrk.Vers [ Cardinality = one, Inverse = Stage ];

Index VersIndex On Vers;

/// Не брать в состав версии
Property VersBlock As %Boolean;

}
...
Рейтинг: 0 / 0
21.03.2011, 15:02
    #37175527
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan03/21/2011
У меня все показывает в хорологе...

Тебе нужно переводить в хоролог, вычитать день, затем обратно в этот формат... В этом тебе поможет TO_DATE ...
...
Рейтинг: 0 / 0
21.03.2011, 15:17
    #37175573
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
krvsaLaFuriaRoja_Fan03/21/2011
У меня все показывает в хорологе...

Тебе нужно переводить в хоролог, вычитать день, затем обратно в этот формат... В этом тебе поможет TO_DATE ...

но в поле через которое поиск, точно в таком же формате... мм/дд/гггг
...
Рейтинг: 0 / 0
21.03.2011, 15:32
    #37175602
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan , просто вычти единицу из CURRENT_DATE - посмотри что получается...
...
Рейтинг: 0 / 0
21.03.2011, 15:35
    #37175612
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fanно в поле через которое поиск, точно в таком же формате... мм/дд/гггг
Если из значений полей вычесть единицу в запросе чтопокажет?

Код: plaintext
1.
2.
3.
4.
SELECT
 <поле>- 1 
FROM
 <таблица>
 
...
Рейтинг: 0 / 0
21.03.2011, 15:44
    #37175641
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
krvsa,

пусто в ячейках
...
Рейтинг: 0 / 0
21.03.2011, 16:09
    #37175690
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fanпусто в ячейках
Потому и написал тебе
krvsaТебе нужно переводить в хоролог, вычитать день, затем обратно в этот формат... В этом тебе поможет TO_DATE ...
...
Рейтинг: 0 / 0
21.03.2011, 16:20
    #37175742
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
LaFuriaRoja_Fan , а так

Код: plaintext
1.
2.
3.
4.
5.
SELECT DISTINCT
 CURRENT_DATE,
 TO_DATE(CURRENT_DATE,'MM/DD/YYYY'),
 TO_DATE(CURRENT_DATE,'MM/DD/YYYY')- 1 
FROM
 <таблица>

Что показывает?
...
Рейтинг: 0 / 0
21.03.2011, 16:46
    #37175805
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
krvsa,

03/21/2011 | 03/21/2011 | 2
...
Рейтинг: 0 / 0
21.03.2011, 18:09
    #37176008
LaFuriaRoja_Fan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
Получилось! where TO_DATE(поле) = TO_DATE((TO_NUMBER(CURRENT_DATE)-2))

спасибо за наставление на правильный путь ))
...
Рейтинг: 0 / 0
21.03.2011, 21:33
    #37176232
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос на выборку за "вчера"
[quot LaFuriaRoja_Fan]Получилось!
Уже хорошо.

Это-то наверное масло масляное
LaFuriaRoja_FanTO_DATE(поле)
Можно просто поле оставить...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / запрос на выборку за "вчера" / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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