powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Есть ли смысл исключать из под суммирования нулевые поля?
53 сообщений из 53, показаны все 3 страниц
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525889
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть большая таблица, порядка 300M записей.
Нужно по этой таблице применить группировку и сортировку:
Код: plsql
1.
2.
3.
4.
select client_id, sum(cost) as cost
from ...
where moment between :date1 and :date2
group by client_id


В таблице есть индексы по client_id и moment. Но нет индексов по cost.
При этом в попадающих под выборку записях более 90% записей нулевые (т.е. cost=0).
Есть ли смысл добавлять в условие where выражение and cost!=0 ?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525893
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.и сортировку
Имелось ввиду «и суммирование».
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525895
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Есть ли смысл добавлять в условие where выражение and cost!=0 ?Логика запроса поменяется.

Alibek B.В таблице есть индекс по client_id и moment. Но нет индексов по cost.Не думал об использовании индекса по дате? Ну и про between с датами уже много раз говорили.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525908
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

есть разница
Код: plsql
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.
SQL> select job,sum(comm) from emp where 1=1 group by job;

JOB        SUM(COMM)
--------- ----------
CLERK
SALESMAN        2200
PRESIDENT
MANAGER
ANALYST

SQL> select job,sum(comm) from emp where 1=1 and comm is not null group by job;

JOB        SUM(COMM)
--------- ----------
SALESMAN        2200

SQL>

SQL> select deptno,sum(comm) from emp where 1=1 group by deptno having sum(comm) is not null;

    DEPTNO  SUM(COMM)
---------- ----------
        30       2200

SQL>



.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525911
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

уважаемый, зачем "1=1" ?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525913
=nomad=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я ничего не понял из комментариев: ТС говорит про cost, которое или 0, или другое число. При чем тут null? Да и moment - это поле date и по нему и так есть индекс.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525914
=nomad=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--Stax,
уважаемый, зачем "1=1" ?
Привык к продуктам Oracle (OEBS)?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525927
Lary Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.В таблице есть индексы по client_id и moment. Но нет индексов по cost.
При этом в попадающих под выборку записях более 90% записей нулевые (т.е. cost=0).
Есть ли смысл добавлять в условие where выражение and cost!=0 ?

А что будет с остальными 10% записями?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525939
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно эти 10% и нужно просуммировать.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525946
Alibek B.Собственно эти 10% и нужно просуммировать.Зато по 90% сумма известна заранее. Быстрее всего будет взять общую сумму и вычесть сумму 90% нулей, выраженную константой 0.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525947
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadЛогика запроса поменяется.
Результат не поменяется.

AmKadНе думал об использовании индекса по дате?
По полю moment есть индекс.

AmKadНу и про between с датами уже много раз говорили.
Что именно?
Если то, что он включает в себя границы, я это знаю.
Если есть какие-то другие нюансы, но в настоящем запроса moment >= :date1 and moment < :date2
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525949
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxесть разница
В поле cost нет значений null.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525951
Alibek B., мы посовещались и решили, что ты попробуешь разные запросы, сравнишь скорости выполнения и напишешь свое экспертное мнение, как в итоге оказалось лучше.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525968
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Staxесть разница
В поле cost нет значений null.
с 0, тоже будет другой результат, если все cost для клиента 0

если неважно, можно добавить в условие where
імхо
сравнение с 0 все-таки дешевле суммирования с 0, но стоит ли усложнять логику запроса, хз

.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525988
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxс 0, тоже будет другой результат, если все cost для клиента 0
Про этот случай не подумал.
Но у меня этот запрос не конечный, а промежуточный, далее мне нужно будет обработать ненулевые агрегаты.
Так что для моего случая этот момент особой роли не играет.

Staxсравнение с 0 все-таки дешевле суммирования с 0, но стоит ли усложнять логику запроса, хз
Да, я именно это имел ввиду.
После такой формулировки ответ напрашивается сам.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525989
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Staxсравнение с 0 все-таки дешевле суммирования с 0, но стоит ли усложнять логику запроса, хзДа, я именно это имел ввиду.
После такой формулировки ответ напрашивается сам.Напрашивается, что ты лох, верящий на слово добрым, но недалёким самаритянам.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525990
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логика и РазумAlibek B., мы посовещались и решили, что ты попробуешь разные запросы, сравнишь скорости выполнения и напишешь свое экспертное мнение, как в итоге оказалось лучше.
Допустим мне нужно проверить работоспособность амперметра. И я вначале было подумал спросить на форуме электриков, как его нужно подключить — последовательно или параллельно.
Но потом логика и разум сказали мне, что лучше поэкспериментировать самому и потом отписаться о результатах.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525996
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Допустим мне нужно проверить работоспособность амперметра. И я вначале было подумал спросить на форуме электриков, как его нужно подключить — последовательно или параллельно.
Но потом логика и разум сказали мне, что лучше поэкспериментировать самому и потом отписаться о результатах.Ты, дурочило, зря ёрничаешь.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39525999
Alibek B.поэкспериментировать самому и потом отписаться о результатах.Это потом наступит, только когда из морга выпишут.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526023
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так создай FBI:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create index index_name
  on table_name(
                case cost
                  when 0 then null
                  else moment
                end,
                case cost
                  when 0 then null
                  else client_id
                end,
                case cost
                  when 0 then null
                  else cost
                end
               )
/



И измени свой select на:

Код: plsql
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.
select  case cost
          when 0 then null
          else client_id
        end client_id,
        sum(case cost
              when 0 then null
              else cost
            end
           ) as cost
  from  table_name
  where case cost
          when 0 then null
          else moment
        end between :date1 and :date2
    and case cost
          when 0 then null
          else client_id
        end is not null
    and case cost
          when 0 then null
          else cost
        end is not null
  group by case cost
             when 0 then null
             else client_id
           end
/



SY.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526028
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadAlibek B.В таблице есть индекс по client_id и moment. Но нет индексов по cost.
Не думал об использовании индекса по дате? Ну и про between с датами уже много раз говорили.
что говорили?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526032
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78что говорили?О том, что в общем случае date - это дата со временем, и для фильтрации диапазона лучше использовать другое условие.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526040
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс - мой SELECT не вернет клиентoв c SUM(COST) = 0. Так что будет равнозначно только если у каждого клиента за любой интервал moment есть как минимум одна запись с cost != 0, что маловероятно.

SY.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526043
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadtip78что говорили?О том, что в общем случае date - это дата со временем, и для фильтрации диапазона лучше использовать другое условие.

это элементарно лечится:
Код: sql
1.
added BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'


а если там именно date, то и без минут будет пофиг
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526045
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78а если там именно date, то и без минут будет пофиг

Особенно когда получишь:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
  2  /
select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
                                                                   *
ERROR at line 1:
ORA-01861: literal does not match format string


SQL>



cтрока != дата, да и в сентябре 30 дней.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> select 1 from dual where sysdate BETWEEN TO_DATE('2017-07-01 00:00:00','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('2017-09-30 23:59:59','YYYY-MM-DD HH24:MI:SS')
  2  /

         1
----------
         1

SQL>



SY.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526097
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYУпс - мой SELECT не вернет клиентoв c SUM(COST) = 0
В моем случае это не важно, мне нужны только клиенты с ненулевыми агрегатами.
Однако мне казалось сомнительным создавать индекс на миллионной таблице под конкретный запрос.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526099
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadО том, что в общем случае date - это дата со временем, и для фильтрации диапазона лучше использовать другое условие.
Ну это мне известно, between я указал для компактности.
В реальном запросе >=:date1 and <:date2
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526128
32 мая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tip78это элементарно лечится:
Код: sql
1.
added BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'

Ну вот у меня давняя система телефонии. Пару лет назад посчасливилось переходить на таймстампы - требования ЕС предписывают считать до миллисекунд.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526141
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78это элементарно лечится:
Код: sql
1.
added BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'


а если там именно date, то и без минут будет пофигИ молиться, чтобы точность в процессе сопровождения/доработки системы не увеличилась до таймстампа.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526144
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.SYУпс - мой SELECT не вернет клиентoв c SUM(COST) = 0
В моем случае это не важно, мне нужны только клиенты с ненулевыми агрегатами.
Однако мне казалось сомнительным создавать индекс на миллионной таблице под конкретный запрос.

как раз это нормальная практика
запросов так то по пальцам перечесть
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526178
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYtip78а если там именно date, то и без минут будет пофиг

Особенно когда получишь:

Код: plsql
1.
2.
3.
4.
5.
6.
SQL> select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
  2  /
select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
                                                                   *
ERROR at line 1:
ORA-01861: literal does not match format string



cтрока != дата, да и в сентябре 30 дней.

вообще-то =
по-крайней мере ищет всё ровно
ту же самую ошибку получите и без BETWEEN
и там также придётся писать added<='2017-09-30 23:59:59'
BETWEEN тупо удобнее
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526181
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadtip78это элементарно лечится:
Код: sql
1.
added BETWEEN '2017-07-01' AND '2017-09-31 23:59:59'


а если там именно date, то и без минут будет пофигИ молиться, чтобы точность в процессе сопровождения/доработки системы не увеличилась до таймстампа.
так вы можете минуты написать сразу, он сам разберётся
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526187
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78и там также придётся писать added<='2017-09-30 23:59:59'Ты неправильно понял альтернативу between-у и все посылы по поводу точности измерения времени.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526193
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78SY...
cтрока != дата, да и в сентябре 30 дней.

вообще-то =
по-крайней мере ищет всё ровно
ту же самую ошибку получите и без BETWEEN
и там также придётся писать added<='2017-09-30 23:59:59'
BETWEEN тупо удобнее
Ты не понял.
Тупо - это не про between и не про <=.
Тупо - это про '2017-09-30 23:59:59', когда сравнение предполагается с датой.
От того что ты исправил 31 на 30 счастье может и не наступить.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526346
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78SYпропущено...


Особенно когда получишь:

Код: plsql
1.
2.
3.
4.
5.
6.
SQL> select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
  2  /
select 1 from dual where sysdate BETWEEN '2017-07-01 00:00:00' AND '2017-09-31 23:59:59'
                                                                   *
ERROR at line 1:
ORA-01861: literal does not match format string



cтрока != дата, да и в сентябре 30 дней.

вообще-то =
по-крайней мере ищет всё ровно
ту же самую ошибку получите и без BETWEEN
и там также придётся писать added<='2017-09-30 23:59:59'
BETWEEN тупо удобнее

если дата с временем то есть нюанс в одну секунду
мне неудобно, надо приплетать 23:59:59

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> with t as (
  2  select to_date('26/09/2017 00:00:00','dd.mm.yyyy hh24:mi:ss') d from dual union all
  3  select to_date('26/09/2017 10:00:00','dd.mm.yyyy hh24:mi:ss') d from dual union all
  4  select to_date('26/09/2017 23:59:59','dd.mm.yyyy hh24:mi:ss') d from dual union all
  5  select to_date('27/09/2017 00:00:00','dd.mm.yyyy hh24:mi:ss') d from dual union all
  6  select to_date('27/09/2017 10:00:00','dd.mm.yyyy hh24:mi:ss') d from dual
  7  )
  8  select * from t where d between date '2017-09-26' and date '2017-09-27'
  9  /

D
-------------------
26.09.2017 00:00:00
26.09.2017 10:00:00
26.09.2017 23:59:59
27.09.2017 00:00:00



......
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526389
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxмне неудобно, надо приплетать 23:59:59
ИМХО. в данном случае пишу
Код: plsql
1.
select * from t where d >=date '2017-09-26' and d<date '2017-09-27'


ну и
Код: plsql
1.
select date '2017-09-27'-interval '1' second from dual 


никто не отменял
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526407
1/86400
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
123йй[/src]
ну и
Код: plsql
1.
select date '2017-09-27'-interval '1' second from dual 


никто не отменялиндекс на поле типа date не потеряется?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526412
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййStaxмне неудобно, надо приплетать 23:59:59
ИМХО. в данном случае пишу
Код: plsql
1.
select * from t where d >=date '2017-09-26' and d<date '2017-09-27'


ну и
Код: plsql
1.
select date '2017-09-27'-interval '1' second from dual 


никто не отменял

да нет проблем, так и рисую >=, < (на крайняк -1/24/60/60)
я о between - мне неудобно

.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526413
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1/86400,

нет
етож константное выражение

.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526540
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyТы не понял.
Тупо - это не про between и не про <=.
Тупо - это про '2017-09-30 23:59:59', когда сравнение предполагается с датой.
От того что ты исправил 31 на 30 счастье может и не наступить.
так безпроблемно с датой сравнивается
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
# select abc from banks;
    abc
------------
 2017-09-26
 2017-08-30
(2 строки)

# select abc from banks where abc between '2017-08-30 05:2:33' and '2017-09-30 23:59:59';
    abc
------------
 2017-09-26
 2017-08-30
(2 строки)



31 и 30 вам придётся решать в любом случае, что с between, что без
я например это решаю ещё в ПХП:
Код: php
1.
date("'Y-m-t 23:59:59'",strtotime($y."-".$m."-01"))



Staxесли дата с временем то есть нюанс в одну секунду
мне неудобно, надо приплетать 23:59:59

а если не так, то упрётесь в 32е число. селяви )
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526559
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо же как тема пошла развиваться.
Если честно, то я для дат в жизни не использовал between, в примере я его указал лишь для краткости.
Потому что 23:59:59 — это тщательно заложенная мина на случай, когда учитываемая точность таймстампов станет меньше секунды.
И даже если использовать 23:59:59.999999, то что делать с 23:59:60 (координационной секундой)?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526587
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78а если не так, то упрётесь в 32е число. селяви )
юзаю and <01

.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526590
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Надо же как тема пошла развиваться.
Если честно, то я для дат в жизни не использовал between, в примере я его указал лишь для краткости.
Потому что 23:59:59 — это тщательно заложенная мина на случай, когда учитываемая точность таймстампов станет меньше секунды.
И даже если использовать 23:59:59.999999, то что делать с 23:59:60 (координационной секундой)?
для date 23:59:60 никак

авторПо всемирному координированному времени (UTC) 31 декабря 2016 года произойдет добавление одной секунды. По Гринвичу 31 декабря 2016 года после 23:59:59 наступит не 1 января 2017 года (со временем 00:00:00), а 23:59:60, пишет Quartz.

Код: plsql
1.
2.
3.
4.
5.
6.
  1* select to_date('31/12/2016 23:59:60','dd.mm.yyyy hh24:mi:ss') d from dual
SQL> /
select to_date('31/12/2016 23:59:60','dd.mm.yyyy hh24:mi:ss') d from dual
               *
ERROR at line 1:
ORA-01852: seconds must be between 0 and 59



.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526598
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.то что делать с 23:59:60 (координационной секундой)?
а был ли мальчик ?
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526620
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййа был ли мальчик ?

Был, если moment не DATE а TIMESTAMP. B таком случае:

Код: plsql
1.
BETWEEN TIMESTAMP '2017-08-30 05:2:33' and TIMESTAMP '2017-09-30 23:59:59.999999999'



SY.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526627
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYБыл, если moment не DATE а TIMESTAMP.
SY. так разговор в теме идет именно про дату :)
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526631
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

для TIMESTAMP по любому надо 999999999

да и скоко етих 9-к вбивать? гораздо удобнее вместо between пользовать <

61-секунду не получуть в базе, поетому "координационна секунда" пока не актульно

.....
stax
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526755
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxtip78а если не так, то упрётесь в 32е число. селяви )
юзаю and <01
ну ещё лучше, упрётесь в 13й месяц

StaxSY,

для TIMESTAMP по любому надо 999999999

да и скоко етих 9-к вбивать? гораздо удобнее вместо between пользовать <

61-секунду не получуть в базе, поетому "координационна секунда" пока не актульно
да откуда же вы такие извращённые костыли то достаёте ))
никогда не слышал
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526791
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78....
никогда не слышал
попробуй задуматься об этом.
настаивать на том, что нечто "tip78безпроблемно с датой сравнивается"
на основании личных наблюдений тебе преждевременно именно потому, что ты никогда не слышал .

Самое плохое, что с тобой приключилось в жизни до сих пор то, что твой код к сожалению работает в твоем окружении и ты, на голубом глазу, искренне веришь в то, что это написано правильно и так и надо писать "боевой" код.
Единственное возможное, но слабое оправдание твоему "видению мира" может быть в том, что в Oracle ты пришел из "другой системы", которая, может быть, действительно гарантирует правильное преобразование из строки указанного тобой вида к дате, и ты веришь, что это универсальная истина для всех систем.
Для Oracle это пример говнокода классически и наивного и чуждого, являющего точный маркер того, что навык написания sql приобретен не на запросах для Oracle.
И столько букв, сколько уже было потрачено, на него тратить не принято.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526799
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobytip78....
никогда не слышал
попробуй задуматься об этом.
настаивать на том, что нечто "tip78безпроблемно с датой сравнивается"
на основании личных наблюдений тебе преждевременно именно потому, что ты никогда не слышал .

Самое плохое, что с тобой приключилось в жизни до сих пор то, что твой код к сожалению работает в твоем окружении и ты, на голубом глазу, искренне веришь в то, что это написано правильно и так и надо писать "боевой" код.
Единственное возможное, но слабое оправдание твоему "видению мира" может быть в том, что в Oracle ты пришел из "другой системы", которая, может быть, действительно гарантирует правильное преобразование из строки указанного тобой вида к дате, и ты веришь, что это универсальная истина для всех систем.
Для Oracle это пример говнокода классически и наивного и чуждого, являющего точный маркер того, что навык написания sql приобретен не на запросах для Oracle.
И столько букв, сколько уже было потрачено, на него тратить не принято.
сынок, во1 не "ты", а "вы".
во2, "не слышал", потому что руки из прямого места. Никто не заставляет вас пихать таймстамп туда, где его нет. Тут человек придумывает костыли на ходу, может его парировать своим скиллом, без посредника в моём лице, вы нашли друг друга.
в3, читайте профиль.
и в4, то что вам дали потрогать чужую ораклю, ещё не делает вас сколь-нибудь опытным спецом, в конце-концов, это могла быть ошибка вашего нонешнего хозяина. А тем более демонстрировать свои скиллы в такой манере, это всё-равно что тявкать на ветер. Вы вроде как изящно прогавкались, но не впечатлили. Всем пох*й.
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526806
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78,
охереть ты мощно задвинул.внушаит.
успехов в маркетологии, "отец".
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526808
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
tip78,

прежде чем соваться в эту ветку, надо было бы сначала хотя бы основы про Oracle изучить, в том числе про NLS-параметры.

ps. 18965996 - мда....
...
Рейтинг: 0 / 0
Есть ли смысл исключать из под суммирования нулевые поля?
    #39526834
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78читайте профильtip78Всем пох*й.Тем, что у тебя по, вали мерятся в ПТ, щенок.
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Есть ли смысл исключать из под суммирования нулевые поля?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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