konto usunięte

Temat: Zapytanie SQL nie działa

witam serdecznie! chcę utworzyć sobie raport poprzez zapytanie sql.

select quotation_id as oferta, quotation_description as opis, mch_code as pojazd, reg_date as data_rej, customer_id as klient, salesman_code as odp, wo_no as nr_ZR, (sum(plan_hrs*220) + sum(cast(replace(remark, '.',',') as int))) + ((sum(plan_hrs*220) + sum(cast(replace(remark, '.',',') as int)))*0.1) as kwota
from (select quotation_id, quotation_description, ifsapp.work_order_quotation.reg_date, customer_id, salesman_code, wo_no, mch_code
from ifsapp.work_order_quotation
join ifsapp.active_separate_overview using(quotation_id))
join ifsapp.work_order_role using(wo_no)
group by quotation_id, quotation_description, mch_code, reg_date, customer_id, salesman_code, wo_no
order by quotation_id

Tworzyłem to zapytanie w SQL Developer i działa. Jednak gdy wrzucam to zapytanie do innego klienta bazy danych (IFS Application) to wyskakuje błąd Niepoprawny numer w wyrażeniu SQL > SZCZEGÓŁY: Nieprawidłowa liczba.

Chodzi dokładnie o to: sum(cast(replace(remark, '.',',') as int)) Liczbę mam wpisaną w polu tekstowym Remark i muszę zamienić typ danych na liczbę, żeby móc wykonać sumę. IFS mi tego nie przyjmuje, a w SQL Developerze działa :/

Czy można zmodyfikować to w taki sposób, żeby to działało?? Dziękuję i pozdrawiam!
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: Zapytanie SQL nie działa

Mateusz Kiliński:
Tworzyłem to zapytanie w SQL Developer i działa. Jednak gdy wrzucam to zapytanie do innego klienta bazy danych (IFS Application) to wyskakuje błąd Niepoprawny numer w wyrażeniu SQL > SZCZEGÓŁY: Nieprawidłowa liczba.

Chodzi dokładnie o to: sum(cast(replace(remark, '.',',') as int)) Liczbę mam wpisaną w polu tekstowym Remark i muszę zamienić typ danych na liczbę, żeby móc wykonać sumę. IFS mi tego nie przyjmuje, a w SQL Developerze działa :/

Czy można zmodyfikować to w taki sposób, żeby to działało?? Dziękuję i pozdrawiam!

Prawdopodobnie SQL Developer ma ustawione polskie NLS-y, traktujące przecinek jako oddzielenie części stałej od zmiennej, a IFS wolałby kropkę.
Możesz albo zmienić NLS-y na IFS-ie lub wyrzucić replace().

konto usunięte

Temat: Zapytanie SQL nie działa

Jak chcesz, zeby zawsze dzialalo to cos takiego:
select to_number('100,65', '999D99', 'NLS_NUMERIC_CHARACTERS='',.''') from dual;

konto usunięte

Temat: Zapytanie SQL nie działa

Ok, musiałem w IFS zmienić wszędzie gdzie było np 134.56 na 134,56.

A dlatego miałem kropkę, bo w Crystal Reports nie przyjmował mi przecinka :P jak miałem kwotę 123,45 to CR pokazywał mi po zamianie na liczbę 123,00 ale coś wymyślę ;) dziękuję za pomoc!Mateusz Kiliński edytował(a) ten post dnia 26.07.10 o godzinie 13:21

Następna dyskusja:

Zapytanie w SQL




Wyślij zaproszenie do