Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Администрирование Oracle Database:
- Установка и настройка базы данных
- Обновление, применение патчей
- Оптимизация, настройка производительности
- Обучение, подготовка персонала, оптимизация
  • Страница:
  • 1
  • 2

ТЕМА: oracle приведение типов

oracle приведение типов 21 янв 2012 08:04 #4055

  • Praktikant
  • Praktikant аватар Автор темы
  • Посетитель
  • Посетитель
доброго всем времени суток, подскажите. база данных - oracle.
из нее беру данные и формирую таблицу, одно поле именуется - трудозатраты .. там число я так полагаю с плавающей точкой, как ее привести в формат времени чтобы формат был "37:30:55"
иначе мне выдается ошибка: текстовое поле использует параметр области, недопустимый для статической функции. значением параметра области должна быть строковая константа , равная имени объемлющей группы, или имени объемлющей области данных, или имени надора данных...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle приведение типов 21 янв 2012 08:09 #4056

  • Hitachi
  • Hitachi аватар
  • Посетитель
  • Посетитель

база данных - oracle.
из нее беру данные и формирую таблицу,

Куда берёте и каким образом?

одно поле именуется - трудозатраты .. там число я так полагаю с плавающей точкой, как ее привести в формат времени чтобы формат был "37:30:55"

Какого типа поле в таблице на стороне БД посмотреть нет возможности?

иначе мне выдается ошибка: текстовое поле использует параметр области, недопустимый для статической функции. значением параметра области должна быть строковая константа , равная имени объемлющей группы, или имени объемлющей области данных, или имени надора данных

Кем выдаётся? Дворником с улицы? Без какого либо кода ошибки и указания источника?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Hitachi.

Re: oracle приведение типов 21 янв 2012 08:13 #4057

  • Praktikant
  • Praktikant аватар Автор темы
  • Посетитель
  • Посетитель
2 Babe_Vampire
1 - я делаю отчет в SQL Server Business Intelligence Development Studio, там есть сервер отчетов.
каким образом - сначала я в Oracle SQL Develper делаю запрос типа:

SELECT T1.wor_id AS id
,T4.wcf_workorderdate4 + 4.0/24 AS время_регистрации
,T71.per_name AS исполнитель_имя
,T72.wog_name AS раб_группа_имя
,T45.rct_name AS базовая_ит_услуга
,T4.wcf_duration1 AS трудозатраты
,T26.rct_name AS статус
,T67.wog_name AS от_раб_группы_имя
,T1.wor_description AS краткое_описание
,T14.rct_name AS папка
FROM
sduser.itsm_wor_custom_fields T4
,sduser.itsm_workgroups T72
,sduser.itsm_persons T71
,sduser.rep_codes T25
,sduser.rep_codes_text T26
,sduser.rep_codes T13
,sduser.rep_codes_text T14
,sduser.itsm_wor_cft001 T43
,sduser.rep_codes T44
,sduser.itsm_workgroups T67
,sduser.rep_codes_text T45
,sduser.itsm_workorders T1
WHERE
(T4.wcf_wor_oid (+) = T1.wor_oid)
AND (T71.per_oid (+) = T1.ass_per_to_oid)
AND (T72.wog_oid (+) = T1.ass_workgroup)
AND (T25.rcd_oid = T1.wor_sta_oid)
AND (T26.rct_lng_oid = 1049)
AND (T26.rct_rcd_oid = T25.rcd_oid)
AND (T13.rcd_oid (+) = T1.wor_poo_oid)
AND (T14.rct_lng_oid (+) = 1049)
AND (T14.rct_rcd_oid (+) = T13.rcd_oid)
AND (T43.ITSM_WOR_CFT001_oid (+) = T1.wor_oid)
AND (T44.rcd_oid (+) = T43.A2$_BASEITSERVICE_OID)
AND (T45.rct_lng_oid (+) = 1049)
AND (T45.rct_rcd_oid (+) = T44.rcd_oid)
AND (T67.wog_oid (+) = T1.ass_wog_from_oid)
and (T4.wcf_workorderdate4 + 4.0/24 between trunc(sysdate-3) and trunc(sysdate-1/24/60/60))

вот и тут есть поле трудозатраты. когда я исполняю запрос в Oracle SQL - он отрабатывает, а в SQL Server Business Intelligence Development Studio,на закладке просмотра отчета выдается отшибка, которую я описал. кода ошибки нет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle приведение типов 21 янв 2012 08:24 #4058

  • House_GreGory
  • House_GreGory аватар
  • Посетитель
  • Посетитель
Какого типа поле в таблице на стороне БД посмотреть нет возможности?

Тип поля укажите

на закладке просмотра отчета
А на layout никаких преобразований с этим полем не указывали? Там проверяется только синтаксис выражения, но не его работоспособность.
На вкладке data поле нормально отображается при выполнении запроса?

тип поля поглядел - float


Тогда преобразуйте его в нужный вам вид в запросе, а не на стороне MS BI DS.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от House_GreGory.

Re: oracle приведение типов 21 янв 2012 08:26 #4059

  • Praktikant
  • Praktikant аватар Автор темы
  • Посетитель
  • Посетитель
просто не оч понимаю как число 0,04166666666667 превратить там например 40:00:00
какая то конструкция может есть которую прямо в select можно вставить типа
to_time (T4.wcf_duration1) ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle приведение типов 21 янв 2012 08:28 #4060

  • doctoraipodoh
  • doctoraipodoh аватар
  • Посетитель
  • Посетитель

Praktikant пишет: просто не оч понимаю как число 0,04166666666667 превратить там например 40:00:00

Интересная арифметика: 40 часов / 0,04166666666667 = 960 часов в хер_знает_чём :cheer:
Это нисколько не раскрывает физический смысл числовой величины трудозатрат:cheer:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от doctoraipodoh.
  • Страница:
  • 1
  • 2