biegnę do swoistej granicy w X
number format element stosowanych w to_number
aw to_char
kiedy byłem converting hexadecimal numbers to decimal numbers.Oracle numer Format modelu Maksymalna długość
Wygląda na to, że model formatu liczb ma maksymalną długość 63 znaków, ale nie mogę znaleźć limitu wymienionego w the docs. Na przykład. podana jest maksymalna długość modelu formatu datetime:
Całkowita długość modelu formatu datetime nie może przekraczać 22 znaków.
W 63 X
es:
SQL> select to_number('A', rpad('X', 63, 'X')) from dual;
TO_NUMBER('A',RPAD('X',63,'X'))
-------------------------------
10
W 64 X
ES:
SQL> select to_number('A', rpad('X', 64, 'X')) from dual;
select to_number('A', rpad('X', 64, 'X')) from dual
*
ERROR at line 1:
ORA-01481: invalid number format model
próbowałem tylko X
formatu elementu, ponieważ jest to istotne dla mojego obecnego zadania.
pytania:
- Czy to jest znanym modelem ograniczenie format numeru, który jest po prostu brakuje dokumentacji?
- Jak przekonwertować 64-znakową i szesnastkową liczbę szesnastkową na liczbę dziesiętną?
Jaki jest cel takiej konwersji? Czy niektóre arytmetyczne z wartości liczbowych lub po prostu przechowywać i pokazać? – ThinkJet
@ThinkJet Jest to ładowanie danych ze starszego urządzenia sprzętowego innej firmy, działającego od połowy lat 90-tych. Nowa wersja wprowadziła te większe pola szesnastkowe. Konwersja została wykonana, ponieważ zawsze było zrobione - nikt tutaj nie wie, dlaczego. Po wyczyszczeniu zakurzonych naroży zdaliśmy sobie sprawę, że system końcowy nie używa już tego konkretnego wskaźnika wydajności, więc możemy go po prostu upuścić (co za ulga). Wygląda również na to, że cel wskaźnika zmienił się w pewnym momencie i zawiera kilka segmentów, które należy rozszyfrować osobno, ale nikt nam nie powiedział. Och, radości programisty konserwacji! – user272735
Ok. Sympatyzuję z tobą w kwestiach związanych z konserwacją. Jeśli kiedyś później ponownie napotkasz ten wskaźnik, spójrz na ['rawtohex'] (http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions131.htm) i [' hextoraw'] (http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions131.htm) funkcje do konwersji i ['UTL_RAW'] (http://docs.oracle.com/cd/B28359_01/appdev .111/b28419/u_raw.htm), aby wyodrębnić określone odczyty i wykonać operacje na poziomie bitowym. – ThinkJet