![]() |
![]() |
![]() |
|
Можно ли вытащить время из даты в запросе? | ☑ | ||
---|---|---|---|---|
0
Tolyas
05.08.10
✎
11:59
|
Надо найти даты со временем 23.59.59 и добавить к ним секунду
|
|||
1
Ненавижу 1С
гуру
05.08.10
✎
11:59
|
(0) задачу решить можно, время при этом вытаскивать не нужно
|
|||
2
luckyluke
05.08.10
✎
12:01
|
КОНЕЦПЕРИОДА(<Выражение>, Минута | Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие)
|
|||
3
Ненавижу 1С
гуру
05.08.10
✎
12:01
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата = КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) УПОРЯДОЧИТЬ ПО РеализацияТоваровУслуг.МоментВремени |
|||
4
Cheater
05.08.10
✎
12:01
|
(0) КонецДня()
|
|||
5
luckyluke
05.08.10
✎
12:04
|
(4) в запросе нет "КонецДня()"
(0) А вообще: Функция ГОД Данная функция предназначена для вычисления номера года из значения типа Дата. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция КВАРТАЛ Данная функция предназначена для вычисления номера квартала из значения типа Дата. Номер квартала находится в диапазоне 1 – 4. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция МЕСЯЦ Данная функция предназначена для вычисления номера месяца из значения типа Дата. Номер месяца находится в диапазоне 1 – 12. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция ДЕНЬГОДА Данная функция предназначена для вычисления дня года из значения типа Дата. День года находится в диапазоне 1 – 366. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция ДЕНЬ Данная функция предназначена для вычисления дня месяца из значения типа Дата. День месяца находится в диапазоне 1 – 31. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция НЕДЕЛЯ Данная функция предназначена для вычисления номера недели года из значения типа Дата. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция ДЕНЬНЕДЕЛИ Данная функция предназначена для вычисления дня недели из значения типа Дата. День недели находится в диапазоне 1 (понедельник) – 7 (воскресенье). Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция ЧАС Данная функция предназначена для вычисления часа суток из значения типа Дата. Час суток находится в диапазоне 0 – 23. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция МИНУТА Данная функция предназначена для вычисления минуты часа из значения типа Дата. Минута часа находится в диапазоне 0 – 59. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция СЕКУНДА Данная функция предназначена для вычисления секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне 0 – 59. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция НАЧАЛОПЕРИОДА Функция предназначена для выделения определенной даты из заданной даты. Параметры функции – это выражение, имеющее тип Дата, и тип периода – одно из: Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие. |
|||
6
73
05.08.10
✎
12:06
|
(5) А КОНЕЦПЕРИОДА куда дел?
|
|||
7
luckyluke
05.08.10
✎
12:07
|
(6) потерял, ща поправлюсь:
Функция КОНЕЦПЕРИОДА Функция предназначена для выделения определенной даты из заданной даты. Параметры функции – это выражение, имеющее тип Дата, и тип периода – одно из: Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие. Функция ДОБАВИТЬКДАТЕ Функция предназначена для прибавления к дате некоторой величины. Первый параметр — исходная дата, к значению которой требуется добавить заданную величину, определяемую вторым и третьим параметрами; выражение, имеющее тип Дата; Второй параметр – ·тип увеличения – одно из: Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие; Третий параметр – величина, на которую требуется увеличить дату, задаваемую первым параметром; тип ЧИСЛО, (дробная часть игнорируется). Может иметь отрицательное значение. Если операция вычитания над датами приводит к получению даты, меньшей, чем минимально представимая дата в используемой СУБД, то такая дата в файловом варианте информационной базы будет заменена на нулевую дату. В других СУБД выполнение такой операции приведет к ошибке операции над данными. Функция РАЗНОСТЬДАТ Функция предназначена для получения разницы между двумя датами. Первый параметр — выражение типа Дата; Второй параметр — выражение типа Дата; Третий параметр – тип разности, одно из: Секунда, Минута, Час, День, Месяц, Квартал, Год. |
|||
8
Tolyas
05.08.10
✎
12:10
|
В выборке так же есть записи со временем 0:00:00 - их трогать не надо.
(5) Год(Дата) - возвращет год, аналогично месяц, день. А вот Час(Дата), Минута(Дата), Секунда(Дата) - в запросе возвращают дату целиком... |
|||
9
Ненавижу 1С
гуру
05.08.10
✎
12:11
|
(8) ппц, готовое решение в (3)
|
|||
10
ShoGUN
05.08.10
✎
12:12
|
(9) +1
|
|||
11
Tolyas
05.08.10
✎
12:12
|
(9) Для этого надо делать еще одну временную таблицу, может можно проще?
|
|||
12
73
05.08.10
✎
12:13
|
Выбор Когда
|
|||
13
Ненавижу 1С
гуру
05.08.10
✎
12:13
|
(11) интересный ход мысли
|
|||
14
Tolyas
05.08.10
✎
12:14
|
(73) Рак на горе свиснет? ))
|
|||
15
Tolyas
05.08.10
✎
12:14
|
(14) -> (12)
|
|||
16
Tolyas
05.08.10
✎
12:15
|
(9) - тоже дело, спасибо!
|
|||
17
ShoGUN
05.08.10
✎
12:15
|
(11) Куда уж проще-то?
|
|||
18
Tolyas
05.08.10
✎
12:17
|
(17) Я хотел узнать есть ли функции работы со временем в запросе. из (6) возвращают вместо времени всю дату.
|
|||
19
73
05.08.10
✎
12:20
|
(18) Неправда. Ещё разок:
Функция ЧАС Данная функция предназначена для вычисления часа суток из значения типа Дата. Час суток находится в диапазоне 0 – 23. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция МИНУТА Данная функция предназначена для вычисления минуты часа из значения типа Дата. Минута часа находится в диапазоне 0 – 59. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Функция СЕКУНДА Данная функция предназначена для вычисления секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне 0 – 59. Параметр функции – это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. ЗЫ. И ещё разок: результатом функции будет значение типа Число |
|||
20
Ненавижу 1С
гуру
05.08.10
✎
12:20
|
(18) типа "время" в 1С нет, но можно получить его части - ЧАС, МИНУТА, СЕКУНДА
|
|||
21
Tolyas
05.08.10
✎
12:22
|
(20) ЧАС, МИНУТА, СЕКУНДА - в запросе не работают
|
|||
22
luckyluke
05.08.10
✎
12:23
|
(21) Ну ты ведь сам провоцируешь на цитирование справки! :)
|
|||
23
Ненавижу 1С
гуру
05.08.10
✎
12:23
|
(21) у меня работает, ЧЯДНТ?
|
|||
24
Cheater
05.08.10
✎
12:25
|
ВЫБРАТЬ
Выбор Когда РеализацияТоваровУслуг.Дата = КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) Тогда ДОБАВИТЬКДАТЕ(РеализацияТоваровУслуг.Дата, СЕКУНДА, 1) Иначе Когда РеализацияТоваровУслуг.Дата Конец КАК МояДата, |
|||
25
Ненавижу 1С
гуру
05.08.10
✎
12:26
|
(24) не надо это ему советовать ))
|
|||
26
luckyluke
05.08.10
✎
12:27
|
(24) Знаешь ли, автор уже сказал что думает по этому поводу в (18)
"Я хотел узнать есть ли функции работы со временем в запросе." |
|||
27
Cheater
05.08.10
✎
12:29
|
+(24) Второе Когда лишнее
|
|||
28
Cheater
05.08.10
✎
12:30
|
(25) а что не так, а то я не проснусь никак?
|
|||
29
Ненавижу 1С
гуру
05.08.10
✎
12:30
|
(27) если честно, это вообще не в тему
|
|||
30
luckyluke
05.08.10
✎
12:31
|
(28) Та всё так :) только автору нужно не решение задачи, а функция, которая вытащит ему в запросе время. :)
|
|||
31
Cheater
05.08.10
✎
12:33
|
будете бить автора жёлтыми книжками до просветления? :))
|
|||
32
Tolyas
05.08.10
✎
12:38
|
(24) - спасибо! то что нужно! (12) похоже это имел ввиду. (23) в запросе Час(Дата) - возвращает всю дату...
|
|||
33
73
05.08.10
✎
12:39
|
(32) А ты говорил рак свиснет...
|
|||
34
Ненавижу 1С
гуру
05.08.10
✎
12:41
|
(32) интересно, а как сформулировано в (0) и не подумаешь ))
|
|||
35
73
05.08.10
✎
12:41
|
(32)
У всех число, а у тебя дату? Гранаты проверь. |
|||
36
luckyluke
05.08.10
✎
12:44
|
(32)
"запросе Час(Дата) - возвращает всю дату..." не верю! На: Выбрать Час(&Дата) КАК Час, Минута(&Дата) КАК Минута, Секунда(&Дата) КАК Секунда Проверяй. |
|||
37
Tolyas
05.08.10
✎
13:55
|
(36) Затупил - сам не понял как. всё работает!
|
|||
38
Tolyas
05.08.10
✎
14:00
|
Нашел итересный нюанс: 01.01.2001 0:00:00 < 01.01.2001 23:59:59 - вернет ложь.
|
|||
39
73
05.08.10
✎
14:01
|
(38) Фокусник?
|
|||
40
Tolyas
05.08.10
✎
14:05
|
(39) Туплю! (38) - бред
|
|||
41
Tolyas
05.08.10
✎
14:10
|
Вернее магия Алексея Новацкого
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |