Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 EXTRACT в запросе выдает кракозябру (интервалы)  [new]
Skampf
Member

Откуда:
Сообщений: 27
Здравствуйте, подскажите. Запрос с EXTRACT, отрабатывает нормально, а при попытке вставить в DW, на выходе получаем кракозябру.

Например, EXTRACT(DAY FROM NAME.NAME) = 4
А в DW получаем = -730486

Собственно вопрос, с чем это связано и как решить данную проблему...

Таже проблема с отображением интервала.
9 фев 21, 15:04    [22278182]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
AIS
Member

Откуда:
Сообщений: 1701
Skampf,
чтобы найти правильный ответ, указывайте версию РВ...
10 фев 21, 00:01    [22278537]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
Skampf
Member

Откуда:
Сообщений: 27
AIS,

8.0.3 версия)
10 фев 21, 09:25    [22278614]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54874
to_char(trunc(a.date) || ' ' || ...


trunc(a.date) || - это уже строка, причем приведенная в строку в каком-то формате по умолчанию, который для каждой среды может быть свой
зачем ее еще раз в строку переводить?

и дальше в том же ключе
23 фев 21, 00:14    [22284989]     Ответить | Цитировать Сообщить модератору
 Re: EXTRACT в запросе выдает кракозябру (интервалы)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54874
17531664/365/24=2001
У тебя где-то век терчется
23 фев 21, 10:28    [22285037]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить