Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / PowerBuilder |
![]() ![]() |
Skampf Member Откуда: Сообщений: 27 |
Здравствуйте, подскажите. Запрос с EXTRACT, отрабатывает нормально, а при попытке вставить в DW, на выходе получаем кракозябру. Например, EXTRACT(DAY FROM NAME.NAME) = 4 А в DW получаем = -730486 Собственно вопрос, с чем это связано и как решить данную проблему... Таже проблема с отображением интервала. |
9 фев 21, 15:04 [22278182] Ответить | Цитировать Сообщить модератору |
AIS Member Откуда: Сообщений: 1701 |
Skampf, чтобы найти правильный ответ, указывайте версию РВ... |
10 фев 21, 00:01 [22278537] Ответить | Цитировать Сообщить модератору |
Skampf Member Откуда: Сообщений: 27 |
AIS, 8.0.3 версия) |
10 фев 21, 09:25 [22278614] Ответить | Цитировать Сообщить модератору |
Skampf Member Откуда: Сообщений: 27 |
SELECT trunc(a.date) DateNormal, SUM(DECODE(a.id,616, Trunc((to_date(to_char(trunc(a.date) || ' ' || SUBSTR(a.date2,1,2) || ':' || SUBSTR(a.date2,3,2)),'dd.mm.yyyy HH24:MI') - to_date(to_char(a.date,'dd.mm.yyyy HH24:MI'),'dd.mm.yyyy HH24:MI'))*24))) Result1 FROM table a WHERE and trunc(a.date) between to_date('01.01.2021','dd.mm.yy') and to_date('01.02.2021','dd.mm.yy') GROUP BY trunc(a.date) Order By trunc(a.date) В date храниться формат (01.01.2021 или 01.01.2021 01:00) В date2 храниться формат (2359 или пусто) На любую арифметическую операцию с датами даёт Фигню... А вот в навигаторе все впорядке((( К сообщению приложен файл. Размер - 758bytes Сообщение было отредактировано: 10 фев 21, 12:24 |
10 фев 21, 12:28 [22278738] Ответить | Цитировать Сообщить модератору |
Dim2000 Member Откуда: Москва Сообщений: 5320 |
10.02.2021 12:28, Skampf пишет: > SELECT > trunc(a.date) DateNormal, > > SUM(DECODE(a.id,616, > Trunc((to_date(to_char(trunc(a.date) ||' ' ||SUBSTR(a.date2,1,2) ||':' ||SUBSTR(a.date2,3,2)),'dd.mm.yyyy HH24:MI') - > to_date(to_char(a.date,'dd.mm.yyyy HH24:MI'),'dd.mm.yyyy HH24:MI'))*24))) Result1 > > FROM > table a > WHERE > and trunc(a.date)between to_date('01.01.2021','dd.mm.yy')and to_date('01.02.2021','dd.mm.yy') > > GROUP BY trunc(a.date) > > Order By trunc(a.date) Ужоснах... я бы начал с проверки, что приходит на сервер. Возможно, там не то, что кажется :). Posted via ActualForum NNTP Server 1.5 |
15 фев 21, 17:42 [22281274] Ответить | Цитировать Сообщить модератору |
Skampf Member Откуда: Сообщений: 27 |
Dim2000, Приходит то что нужно) А вот билдер ковяркает результат если было произведены операции с датой временем. 1. В итоге прошлось делить время на два столбца часы минуты (запрос) 2. создать столбец compute: string(truncate(min/ 60, 0 ) + hour) +':'+string( mod(min, 60 )) 3. производить математические операции через код билдера, если МИНУТ больше 60 или Меньше 0. 4. В итоге столбец красиво сформировался. Просто изначально хотелось сделать всё запросом без лишний телодвижений в коде. Но вопрос актуален. Почему происходит так.... |
17 фев 21, 08:46 [22282043] Ответить | Цитировать Сообщить модератору |
andreymx Member Откуда: Запорожье Сообщений: 54874 |
to_char(trunc(a.date) || ' ' || ... trunc(a.date) || - это уже строка, причем приведенная в строку в каком-то формате по умолчанию, который для каждой среды может быть свой зачем ее еще раз в строку переводить? и дальше в том же ключе |
23 фев 21, 00:14 [22284989] Ответить | Цитировать Сообщить модератору |
andreymx Member Откуда: Запорожье Сообщений: 54874 |
17531664/365/24=2001 У тебя где-то век терчется |
23 фев 21, 10:28 [22285037] Ответить | Цитировать Сообщить модератору |
Все форумы / PowerBuilder | ![]() |