powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как от одной переменной типа Date отнять другую???
47 сообщений из 47, показаны все 2 страниц
Как от одной переменной типа Date отнять другую???
    #32535495
leTaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #32535516
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> select to_date('12.05.2004 12:23:45','DD.MM.YYYY HH24:MI:SS')-to_date('11.05.2004 12:23:45','DD.MM.YYYY HH24:MI:SS')
   2    "Разница в днях" from dual;

Разница в днях
 --------------
 
              1 

SQL> select to_date('12.05.2004 12:23:45','DD.MM.YYYY HH24:MI:SS')-to_date('11.05.2004 12:22:45','DD.MM.YYYY HH24:MI:SS')
   2    "Разница в днях" from dual;

Разница в днях
 --------------
 
     1 . 00069444 

SQL> 
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #32535522
leTaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если я пытаюсь присвоить результат третьей переменной?

Код: plaintext
ld_wait := TRUNC(to_date(ld_buff_data) - to_date(ld_sysdate));

то выдается ошибка

PLS-00382 Expression of wrong type.
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #32535549
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ld_wait должна быть number а не date
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #32536045
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или INTERVAL;)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как от одной переменной типа Date отнять другую???
    #39490920
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leTaonа если я пытаюсь присвоить результат третьей переменной?
Код: sql
1.
ld_wait := TRUNC(to_date(ld_buff_data) - to_date(ld_sysdate));


то выдается ошибка
PLS-00382 Expression of wrong type.
Такая же проблема (((
Пишу код:
Код: plsql
1.
2.
select trunc(to_date(sysdate, 'DD.MM.YYYY') - to_date('17.07.2017', 'DD.MM.YYYY'))
    from dual


А он выдает мне результат: -730486
Минус семьсот тридцать тысяч четыреста восемьдесять шесть ((((
Почему так происходит? ((((
Хотя код:
Код: plsql
1.
2.
select trunc(to_date('18.07.2017', 'DD.MM.YYYY') - to_date('17.07.2017', 'DD.MM.YYYY'))
    from dual


Отрабатывает вполне нормально
Почему ? (((
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490923
sysdate уже date
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015,
вот
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490924
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015to_date(sysdate
ты в каждом топике как ...... будешь ходить по граблям ?
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490927
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Код: plsql
1.
trunc(to_date(sysdate, 'DD.MM.YYYY')


Что это?
Hint: sysdate имеет тип date

Код: plsql
1.
select sysdate - to_date('17.07.2017', 'DD.MM.YYYY') from dual;
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490934
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,
TO_DATE
Oracle DocTO_DATE converts char of CHAR, VARCHAR2, NCHAR, or NVARCHAR2 data type to a value of DATE data type
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490956
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdate уже dateRMagistr2015,
вот
Да, работает, спасибо )
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490958
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййRMagistr2015to_date(sysdate
ты в каждом топике как ...... будешь ходить по граблям ?
А ты представь, мы когда-нибудь встретимся и станем лучшими друзьями ))))
И с улыбкой будем вспоминать как я учил oracle )))))))

Всем спасибо, хорошего дня )))))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490962
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015sysdate уже dateRMagistr2015,
вот
Да, работает, спасибо )
Не совсем, почему-то начал выдавать значение
730486
семьсот тридцать тысяч четыреста восемьдесять шесть ((((
Раньше был минус, сейчас плюс ((((
что такое, хотя на тестовом select всё было очень хорошо, выдавал 1 (((
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490984
Anatoly B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015,

авторсемьсот тридцать тысяч четыреста восемьдесять шесть
это кол-во дней между 17.07.2017 и 17.07.0017
А уж+/- это смотря что из чего отнимать. Запрос то какой получился?
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490991
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly BRMagistr2015,

авторсемьсот тридцать тысяч четыреста восемьдесять шесть
это кол-во дней между 17.07.2017 и 17.07.0017
А уж+/- это смотря что из чего отнимать. Запрос то какой получился?
Вот такой:
Код: plsql
1.
2.
3.
select trunc(sysdate-to_date(date_last, 'DD.MM.YYYY'))
      into n_day
      from dual;
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490996
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly BRMagistr2015,

авторсемьсот тридцать тысяч четыреста восемьдесять шесть
это кол-во дней между 17.07.2017 и 17.07.0017
А уж+/- это смотря что из чего отнимать. Запрос то какой получился?

почему он взял дату 17.07.0017, я ведь там указал 'DD.MM.YYYY' 4-е Y ? ((
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39490999
Anatoly B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015,

date_last - date ?, тогда
Код: plsql
1.
to_date(date_last, 'DD.MM.YYYY'))    равносильно    to_date(to_char(date_last), 'DD.MM.YYYY')) 


здесь и идет потеря года из 2017 в 0017
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491003
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Anatoly BRMagistr2015,

пропущено...

это кол-во дней между 17.07.2017 и 17.07.0017
А уж+/- это смотря что из чего отнимать. Запрос то какой получился?

почему он взял дату 17.07.0017, я ведь там указал 'DD.MM.YYYY' 4-е Y ? ((
Рабтает без преобразования
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491043
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Вот такой:
Код: plsql
1.
to_date(date_last, 'DD.MM.YYYY')


По ходу клиент необучаем...
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491070
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
select * 
  from nls_database_parameters
 where parameter='NLS_DATE_FORMAT';
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491302
Пенсионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015А ты представь, мы когда-нибудь встретимся и станем лучшими друзьями
У вас будет большая разница в возрасте
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491433
months_between
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПенсионерRMagistr2015А ты представь, мы когда-нибудь встретимся и станем лучшими друзьями
У вас будет большая разница в возрасте
хорошая шутка)
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491450
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
months_betweenПенсионерпропущено...

У вас будет большая разница в возрасте
хорошая шутка)

Код: plsql
1.
2.
select him_old - my_old
    from dual;


))))))))))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491454
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПенсионерRMagistr2015А ты представь, мы когда-нибудь встретимся и станем лучшими друзьями
У вас будет большая разница в возрасте
Слушай, а это не твой топик?
Там то же парень меняет ники как хочет в сообщениях ))))
ссылка
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491469
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,

вечная тема
скоко прошло дней-месяцев-лет
с 30.01.2015 по 27.02.2017



.....
stax
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491473
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,
Сделай запрос
Код: plsql
1.
select PARAMETER||'='||value from nls_session_parameters where PARAMETER='NLS_DATE_FORMAT';


теперь
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select
-- sysdate to char
to_char(sysdate) as "1Nax"
-- toDate from sysdate to char by format
,to_char(to_date(SYSDATE,'DD.MM.YYYY'),'DD.MM.YYYY-HH24:MI:SS') as "2Nax"
-- trunc of toDate from sysdate to char by format
,to_char(TRUNC(TO_DATE(SYSDATE,'DD.MM.YYYY')),'DD.MM.YYYY-HH24:MI:SS') as Result
from dual
/

1Nax               2Nax                RESULT
------------------ ------------------- -------------------
19-JUL-17          19.07.0017-00:00:00 19.07.0017-00:00:00
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491491
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninRMagistr2015,
Сделай запрос
Код: plsql
1.
select PARAMETER||'='||value from nls_session_parameters where PARAMETER='NLS_DATE_FORMAT';


теперь
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select
-- sysdate to char
to_char(sysdate) as "1Nax"
-- toDate from sysdate to char by format
,to_char(to_date(SYSDATE,'DD.MM.YYYY'),'DD.MM.YYYY-HH24:MI:SS') as "2Nax"
-- trunc of toDate from sysdate to char by format
,to_char(TRUNC(TO_DATE(SYSDATE,'DD.MM.YYYY')),'DD.MM.YYYY-HH24:MI:SS') as Result
from dual
/

1Nax               2Nax                RESULT
------------------ ------------------- -------------------
19-JUL-17          19.07.0017-00:00:00 19.07.0017-00:00:00



год 0017 (((( Что делать? Как быть?
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491505
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

пишу такой код:
Код: plsql
1.
2.
select d.created,to_char(d.created),to_date(to_char(d.created),'dd.mm.yy')
    from date_sync d


и он мне выдает:
Код: plsql
1.
1 |	28.01.2016 18:46:14 |	28-JAN-16 |	28.01.2016


И как будто всё нормально с годом ((((
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491509
months_between
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015Что делать? Как быть?

Тебе говорят, что делать:

Vadim LejninRMagistr2015,
Сделай запрос
Код: plsql
1.
select PARAMETER||'='||value from nls_session_parameters where PARAMETER='NLS_DATE_FORMAT';
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491511
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
months_betweenRMagistr2015Что делать? Как быть?

Тебе говорят, что делать:

Vadim LejninRMagistr2015,
Сделай запрос
Код: plsql
1.
select PARAMETER||'='||value from nls_session_parameters where PARAMETER='NLS_DATE_FORMAT';



Код: plsql
1.
NLS_DATE_FORMAT=DD-MON-RR
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491514
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015год 0017 (((( Что делать? Как быть?

http://www.vothouse.ru/films/terminator_citaty.html ―Какой сегодня день? число?
―12 мая, четверг.
―А ГОД?
―Что?

Может раз попробовать использовать голову не только для того чтобы в нее есть?

Regards

Maxim
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491515
months_between
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015months_betweenпропущено...


Тебе говорят, что делать:

пропущено...

Код: plsql
1.
NLS_DATE_FORMAT=DD-MON-RR


дальше объяснять?)))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491536
Evgeny2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
select trunc(to_date(to_char(sysdate,'DD.MM.YYYY'), 'DD.MM.YYYY')) - to_date('17.07.2017', 'DD.MM.YYYY') from dual
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491541
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
months_betweenRMagistr2015пропущено...

Код: plsql
1.
NLS_DATE_FORMAT=DD-MON-RR


дальше объяснять?)))
Что объяснять? я же написал что понятно что там 0017 ?
Увидели мы это ))) о чем вы сейчас? ))))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491542
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeny2
Код: plsql
1.
select trunc(to_date(to_char(sysdate,'DD.MM.YYYY'), 'DD.MM.YYYY')) - to_date('17.07.2017', 'DD.MM.YYYY') from dual


Спасибо большое )))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491543
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeny2
Код: plsql
1.
select trunc(to_date(to_char(sysdate,'DD.MM.YYYY'), 'DD.MM.YYYY')) - to_date('17.07.2017', 'DD.MM.YYYY') from dual


Без trunc оно то же 2
как и с trunc
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491566
Evgeny2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Trunc излишен, так как время обрезалось уже приведением даты в строку to_char с маской 'dd.mm.yyyy'

А так не работает?
Код: plsql
1.
select trunc(sysdate)- to_date('17.07.2017', 'DD.MM.YYYY') from dual 
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491584
months_between
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RMagistr2015о чем вы сейчас? ))))

Я о параметре NLS_DATE_FORMAT. Дальше про него объяснять или сам погуглишь и узнаешь, как он влияет на отображение дат?

ЗЫ и прекращай уже дату к дате приводить, некрасиво это.
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491586
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Evgeny2
Код: plsql
1.
select trunc(to_date(to_char(sysdate,'DD.MM.YYYY'), 'DD.MM.YYYY')) - to_date('17.07.2017', 'DD.MM.YYYY') from dual


Без trunc оно то же 2
как и с trunc

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> ed
Wrote file afiedt.buf

  1  select trunc(to_date(to_char(sysdate,'DD.MM.YYYY hh24'), 'DD.MM.YYYY HH24'))
  2*            - to_date('17.07.2017', 'DD.MM.YYYY') dd from dual
SQL> /

        DD
----------
         2

SQL> ed
Wrote file afiedt.buf

  1  select       to_date(to_char(sysdate,'DD.MM.YYYY hh24'), 'DD.MM.YYYY HH24')
  2*            - to_date('17.07.2017', 'DD.MM.YYYY') dd from dual
SQL> /

        DD
----------
2,58333333

SQL>



.....
stax
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491972
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeny2Trunc излишен, так как время обрезалось уже приведением даты в строку to_char с маской 'dd.mm.yyyy'

А так не работает?
Код: plsql
1.
select trunc(sysdate)- to_date('17.07.2017', 'DD.MM.YYYY') from dual 


Да, так работает, я вот так и сделал, спасибо большое ))))
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491974
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Evgeny2Trunc излишен, так как время обрезалось уже приведением даты в строку to_char с маской 'dd.mm.yyyy'

А так не работает?
Код: plsql
1.
select trunc(sysdate)- to_date('17.07.2017', 'DD.MM.YYYY') from dual 


Да, так работает, я вот так и сделал, спасибо большое ))))
И ещё так то же работает :
Код: plsql
1.
select trunc(sysdate - to_date('17.07.2017', 'DD.MM.YYYY')) from dual 
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491978
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015И ещё так то же работает :Методом тыка только дети делаются.
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39491997
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015И ещё так то же работает :
Код: plsql
1.
select trunc(sysdate - to_date('17.07.2017', 'DD.MM.YYYY')) from dual 


Разницу чувствуете?

.....
stax
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39492749
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..RMagistr2015И ещё так то же работает :
Код: plsql
1.
select trunc(sysdate - to_date('17.07.2017', 'DD.MM.YYYY')) from dual 


Разницу чувствуете?
.....
stax
Честно говоря нет ((
И там и там получается обрезанная до дня дата....
....
?
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39492756
Evgeny2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В твоем случае ты обрезаешь уже число...
...
Рейтинг: 0 / 0
Как от одной переменной типа Date отнять другую???
    #39492762
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015stax..пропущено...

Разницу чувствуете?
.....
stax
Честно говоря нет ((
И там и там получается обрезанная до дня дата....
....
?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> ed
Wrote file afiedt.buf

  1* select trunc(sysdate - to_date('17.07.2017 08', 'DD.MM.YYYY hh24')) from dual
SQL> /

TRUNC(SYSDATE-TO_DATE('17.07.201708','DD.MM.YYYYHH24'))
-------------------------------------------------------
                                                      4

SQL> ed
Wrote file afiedt.buf

  1* select trunc(sysdate) - to_date('17.07.2017 08', 'DD.MM.YYYY hh24') from dual
SQL> /

TRUNC(SYSDATE)-TO_DATE('17.07.201708','DD.MM.YYYYHH24')
-------------------------------------------------------
                                             3,66666667



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

ой не все
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> ed
Wrote file afiedt.buf

  1* select sysdate - to_date('17.07.2017 08', 'DD.MM.YYYY hh24') from dual
SQL> /

SYSDATE-TO_DATE('17.07.201708','DD.MM.YYYYHH24')
------------------------------------------------
                                       4,0381713



.....
stax
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как от одной переменной типа Date отнять другую???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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