|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 1 ![]() |
bonjour,
je suis a la recherche de doc sur les fonctions mathematiques d'oracle particulierement sur les fonctions de changement de base. En fait, je fais communiquer deux SI dans lequel d'un cote j'ai un numerique de 12 caracteres et de l'autre un champ numerique de 8 que je ne peux modifier (ERP oblige). Pour ce faire, je pensais à un changement de base afin de reduire le nombre de caracteres de 12 à moins de 8. Est ce que quelqun connait de tels fonctions sous oracle? merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
pas compris
tu as une base avec un champ de type NUMBER(12) et une autre avec un champ de type NUMBER(8). tu veux que pour un billion d'identifiants à gauche, il y ait cent millions d'identifiants correspondants à droite? Tu peux employer la fonction modulo n2=mod(n1,10000000) bien sûr l'identifiant 10000001 sera égal à 1. Mais tu ne peux pas stocker un billion d'identifiants uniques dans un NUMBER(8). Changer de base? Je ne vois pas en quoi ça ferait avancer le schmilblick... |
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
ou bien tu pensais utiliser un champ VARCHAR2(8) à droite ?
en imaginant une fonction qui retourne BAS32(999999999999)='T3AAA3VV' ça pourrait aller. mais alors droite ne serait plus numérique |
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
les seules fonctions de conversion de base en Oracle sont TO_CHAR(1,'XXXX') pour convertir 1 en héxa et TO_NUMBER('1','XXXX') pour convertir 0x1 en décimal. Le reste, il faut l'écrire toi-même
|
|
00
|
Copyright © 2000-2012 - www.developpez.com