
Envoyé par
harbonne
Bonjour,
Comment la table dual peut elle ramener des valeurs tronquées ou arrondies,
comment l'entrée dans cette table se déroule t-elle?
ex : select trunc(45.923,2) from dual;
Simplement parce que dans le cas présent tu ne sélectionnes aucune donnée de dual. DUAL ne sert qu'à retourner la valeur de la fonction TRUNC. Remplace DUAL par n'importe quelle autre table est ça fonctionnera de la même manière à ceci prêt qu'Oracle exécute la fonction pour toutes les lignes.
Exemple :
1 2 3
| select trunc(45.923,2) from dba_tables;
select trunc(45.923,2) from dba_tables where rownum=1; |

Envoyé par
harbonne
autre question: j'ai saisi le nombre 15000,982 dans la champ sal pour le champ empno de valeur 7900.
Je souhaite afficher ce salaire avec uniquement deux chiffres après la virgule.
voici ma requête
Select to_char(sal, '$99999,99') salaray from emp where empno=7900
Voici le résultat obtenu :$150,01
Je ne comprends pas ce resultat.
Pouvez vous m'indiquer où se situe mon erreur?
je ne comprends pas vraiment le résultat mais la cause c'est le format. Essaye :
Select to_char(sal, '$99999.99') salaray from emp where empno=7900
En anglais, le séparateur de décimal est le ., la virgule c'est le séparateur de millier... mais pourquoi 150,01 au lieu de 15,01 (parce qu'il y a 15 milles) alors là je ne me l'explique pas. Là faut voir la doc 

Envoyé par
harbonne
A propos de la soustraction de deux dates, est il possible de soustraire la valeur d'un champ date d'une table à la valeur d'un autre champ date d'une autre table?
Oui, le résultat sera le nombre de jour séparant les 2 date... attention, le format DATE contient l'heure
Partager