Maison  >  Article  >  base de données  >  Explication détaillée de la fonction commune d'Oracle Trunc

Explication détaillée de la fonction commune d'Oracle Trunc

小云云
小云云original
2017-12-11 13:27:324039parcourir


Cet article présente principalement la fonction Oracle commune Trunc et l'utilisation de la fonction Trunc. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Tutoriels vidéo MySQL recommandés : "Tutoriel MySQL"

Trunc(date)

trunc intercepte les données de type date avec l'élément spécifié

Syntaxe : trunc (date, [format])

date– Valeur du format de date

format – Formats de date tel que 'mm', 'aaaa', etc. date d'interception à partir du format de date spécifié

Par exemple :

trunc(sysdate,'yyyy')=‘01-01月-17'(sysdate='21-11月-17'); --返回今年的第一天
trunc(sysdate,'mm')=‘01-11月-17'; --返回本月第一天
trunc(sysdate,'d')=‘19-11月-17'; --(今天星期二,一周从周日开始计算)返回本周第一天

2 Trunc(number,[number1 ] )

trunc(number) est similaire à round( ), sauf que le premier chiffre tronqué n'est pas arrondi

Par exemple :

round(89.125,2)=89.13
trunc(89.125,2)=89.12
trunc(89.125,-1)=80

La valeur par défaut du numéro 1 est 0.

Ce qui suit est une introduction à l'utilisation de la fonction Oracle trunc()

1.TRUNC (pour les dates)

 La valeur de date tronquée par la fonction TRUNC pour l'élément spécifié.

 Le format de syntaxe spécifique est le suivant :

 TRUNC(date[,fmt])

 Parmi eux :

 date une valeur de date

 fmt date format, La date sera tronquée selon le format d'élément spécifié. Ignorez-le et tronquez à partir de la date la plus proche

Voici l'utilisation de cette fonction :

TRUNC (TO_DATE ('24-Nov-1999 08:00 pm'), 'dd-mon -aaaa hh:mi am')

 ='24-Nov-1999 00:00:00'

 TRUNC(TO_DATE('24-Nov-1999 08:37 pm', 'dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'

 trunc(sysdate,'yyyy') --renvoie le courant le premier jour de l'année.

trunc(sysdate,'mm') -- Renvoie le premier jour du mois.

trunc(sysdate,'d') --Renvoie le premier jour de la semaine en cours.

trunc (sysdate,'dd') --renvoie l'année, le mois et le jour en cours

2.TRUNC (pour le nombre)

La fonction TRUNC renvoie la valeur traitée et son fonctionnement Le mécanisme est très similaire à la fonction ROUND, sauf que cette fonction n'arrondit pas les parties avant ou après la décimale spécifiée, mais les tronque toutes.

Le format de syntaxe spécifique est le suivant

TRUNC (nombre[, décimales])

Parmi eux :

nombre La valeur à intercepter

Décimales précise le nombre de chiffres à conserver après la virgule décimale. Facultatif, ignorez-le et tronquez toutes les parties décimales

Voici l'utilisation de cette fonction :

TRUNC (89.985, 2) = 89.98

TRUNC (89.985) = 89

 TRUNC(89.985,-1)=80

Remarque : Le deuxième paramètre peut être un nombre négatif, ce qui signifie que la partie après le nombre de chiffres spécifié à gauche de la virgule décimale est tronqué, c'est-à-dire que tous sont 0 mémorisés. C'est similaire à l'arrondi. Par exemple, si le paramètre est 1, il est arrondi au dixième. S'il est -1, il est arrondi au dixième, et ainsi de suite.

--Utilisation de la fonction Oracle trunc()


/**************日期********************/
1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm')  from  dual --2011-3-1  返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1    返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18  返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1  返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual  --2011-3-18 14:00:00  当前时间为14:41  
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00  TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual --123.458
15.select trunc(123) from dual --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120

Je crois que vous connaissez déjà Oracle fonction couramment utilisée Trunc Compris, j'ai envie de l'essayer moi-même.

Recommandations associées :

Explication détaillée des exemples de fonctions de fractionnement personnalisées Oracle

Une brève analyse de l'application des fonctions de table dans Oracle

Explication détaillée de l'utilisation d'Oracle moins et exemples d'application

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn