Les expériences Oracle - études numériques Oracle de quatre fonctions étage

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 -

test de base de données MySQL - Qu'est-ce que est divisé verticalement et horizontalement divisé?
Précédent
Carrefour Suning 4,8 milliards de la vente à ceux qui, dans l'effondrement du conseil d'administration des entreprises multinationales, ont fait la même erreur
Prochain
1200! Hebei « trois d'une aide » pour vous inscrire amis, regarder les derniers messages
attente détaillée de verrouillage session de MySQL relation principe de base Zhang --4 tableau
4,8 milliards pour acheter 1 milliard de Carrefour déficit annuel! Suning où est l'argent?
Oracle interface graphique ne peut pas être rappelé solution unifiée service --VNC
commande Linux détaillée --- Comment créer un fichier de mot de passe avec le htpasswd?
Wong Lo Kat « Ne pas boire du thé gras » après la libération était en fait la raison?
Détaillée de la couche de base de données MySQL 5 - droits de mise en page globale, la couche de base de données, surface, colonne, couche de sous-programme
Giants convoitent le marché naufrage, beaucoup de combat a des avantages évidents! les utilisateurs ruraux: si abordable
Redis recommande un outil de visualisation open source Desktop Manager
Des gouttes assis? Après des milliards de perte de sang, Tencent fin personnellement
Rappelez-vous une fois les maladies incurables: Checksum utilitaire « shasum » pas trouvé une solution
Huawei a publié base de données native AI GaussDB et stockage distribué FusionStorage 8.0