Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2007, 11h35   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1
Points : 0
Points : 0
Par défaut les fonctions mathematiques sous oracle

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
sylab_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 13h00   #2
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
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...
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 13h14   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
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
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 13h19   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
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
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h21.


 
 
 
 
Partenaires

Hébergement Web