contour
« Arrondi » est l'un des concept mathématique de notre premier contact, l'arrondissement numérique est notre plus de contacts avec un style à la demande. systèmes financiers connexes, l'algorithme d'arrondi est parfois un impact énorme sur les utilisateurs du système.
Dans l'Oracle SQL, il fournit quatre fonctions d'arrondi numérique. Du nom, ils sont tous arrondis, mais l'algorithme spécifique est différent.
1. Introduction et environnement de préparation
Sélectionnez ici la version Oracle 11gR2 pour tester.
SQL > select * from v $ version;Différents types de données pour les tests.
SQL > select * from t;2, quatre fonctions de base étage
Il existe quatre types de fonction médico-légale Oracle: Ceil, sol, trunc et rond, chacun avec un sens différent et des caractéristiques adaptées à des scénarios différents.
2.1, Ceil
Ceil est le sens original du dicton: Renvoie le premier entier plus que la valeur actuelle. Ici, nous devons prêter attention à la notion de « grand », le plus facile à comprendre est le nombre d'axes sur nos calculs. Ceil retourne la valeur courante est une valeur entière dans les premiers axes de droite.
SQL > select id, ceil (id) à partir de t;Ici, l'attention principale Ceil résultats des négatifs et notre idée intuitive il y a quelques différences. Et Ceil ne sont pas arrondis.
2.2, plancher
Étage et correspond ceil, il faut dire être tout le contraire. Ceil prendre un premier nombre entier prédéterminé à la droite de l'axe. Etage tout en prenant un premier nombre entier prédéterminé est laissé axe, à savoir prendre une petite opération.
SQL > select id, floor (id) à partir de t;l'action au sol est de trouver inférieure à la valeur actuelle de l'entier.
2.3, trunc
trunc est une fonction « multi-usages ». Nous sommes habitués à la manipulation du type de date de date. paramètre d'entrée est trunc un type de date, chaque minute lorsque les informations de jeu après la coupe jours. Tous les convertis 00:00:00 prévu. Mais face à une entrée numérique trunc, il sera derrière l'interception du point décimal.
SQL > select id, trunc (id) à partir de t;trunc numérique il n'y a pas de concept de « arrondi », sont directement « le traitement de la coupe. »
2.4, rond
A proprement parler, il n'y a qu'un seul tour de mouvement vraiment de choix « arrondi ».
SQL > Select, rond (id) à partir de t;Seulement, nous avons le sens habituel tour d'arrondi action.
3, la fonction intégrale de la précision de l'échelle de valeurs
Ces fonctions, dont certains arrondis, ils peuvent prendre un paramètre optionnel qui indique le réglage de précision. L'état actuel de nos données est la suivante:
SQL > select * from t;trunc et rond peuvent soutenir les paramètres à l'échelle de la fonction.
SQL > sélectionner id, trunc (id, 1), tour (id, 1) à partir de t;Si un nombre positif, le nombre de chiffres après le traitement de retour du point décimal. Si l'on fait ce négatif?
SQL > sélectionner id, trunc (id, -1), rond (id, -1) à partir de t;Si elle est négative, le produit d'exploitation pris avant le point décimal.
4, et le reste mod
mod prendre le reste, nous « modèle » utilise souvent l'opération est basée sur mod fonctionnement. Le reste des fonctions aussi prendre le reste, à la fois quelle est la différence?
SQL > sélectionner mod (11,4), le reste (11,4) du double; SQL > sélectionner mod (0,4), le reste (0,4) du double; SQL > sélectionner mod (-11,4), le reste (-11,4) du double;Lorsque deux paramètres sont le fonctionnement des entiers, et nous voyons essentiellement ce que le problème est. Mais une fois que le négatif, si les apparaît diviseurs ou de dividendes, le reste mod de comportement et le modèle classique il y a quelques différences.
SQL > mod select (-11, -4), le reste (-11, -4) du double; SQL > mod de sélection (11, -4), le reste (11, -4) du double;Pour être précis, la valeur de la fonction mod: Rez-de-n2 n1 * (n2 / n1). Donc, faites attention au problème quand il y a un nombre négatif, ce mod.
reste a aussi pour effet de prendre en charge, donc ce qui est différent? Important dans le plancher au-dessus de la formule de calcul. Pour les termes restants, Oracle n'a pas choisi sol, mais arrondi autour.
résumé
Oracle fournit un certain nombre de fonctions personnalisées, faire bon usage, les utiliser, vous pouvez nous donner une grande aide.
Devops et plus tard partageront les aspects DBA plus de contenu, des amis intéressés peuvent regarder -