- 相關(guān)推薦
Oracle認(rèn)證:OracleTRUNC函數(shù)詳解
1.TRUNC 函數(shù)
Oracle TRUNC函數(shù)可以截取數(shù)字和日期類(lèi)型:
2.TRUNC截取數(shù)字
TRUNC(number)函數(shù)返回n1截取到n2位小數(shù)。如果省略n2時(shí),則n1截取到0位置(即截取所有小數(shù)位)。如果n2為負(fù)數(shù)時(shí),表示截取小數(shù)點(diǎn)左邊的n2位,被截取部分記為0.
2.1語(yǔ)法
其語(yǔ)法格式如下:
TRUNC(n1 [, n2 ])
其中:n1為待截取的數(shù)值;n2為需要保留的小數(shù)位,是一個(gè)選可項(xiàng)。
2.2 Examples
2.2.1截取小數(shù)點(diǎn)后1位
SQL> select trunc(17.97, 1) from dual;
TRUNC(17.97,1)
--------------
17.9
2.2.2截取小數(shù)點(diǎn)后0位
相當(dāng)于省略n2
SQL> select trunc(17.97, 0) from dual;
TRUNC(17.97,0)
--------------
17
2.2.3缺省n2
相當(dāng)于截取0位
SQL> select trunc(17.97) from dual;
TRUNC(17.97)
------------
17
2.3.4截取小數(shù)點(diǎn)前1位
SQL> select trunc(17.97, -1) from dual;
TRUNC(17.97,-1)
---------------
10
總結(jié):當(dāng)n2位正數(shù)時(shí),截取小數(shù)點(diǎn)有右邊的位置。當(dāng)N2小數(shù)點(diǎn)位負(fù)數(shù)時(shí),則截取小數(shù)點(diǎn)左邊的位置,被截取部分記為0.
3.TRUNC截取日期
TRUNC(date)返回以指定格式fmt截取一部分的日期格值,該函數(shù)對(duì)NLS_CALENDAR會(huì)話參數(shù)是不敏感的。它按照公歷規(guī)則運(yùn)作。返回值始終是日期類(lèi)型,即使你指定不同datetime數(shù)據(jù)類(lèi)型的日期。如果省略fmt,則日期返回最近一天。
3.1語(yǔ)法
其語(yǔ)法格式如下:
TRUNC(date [, fmt ])
其中:date:為輸入的日期值,是必輸項(xiàng);fmt:以指定格式來(lái)截取輸入的日期值,是一個(gè)可選項(xiàng)。
TRUNC函數(shù)可以使用的格式模型如下:
vciB0aGUgUk9VTkQgYW5kIFRSVU5DIERhdGUgRnVuY3Rpb25zIA==" width="100%"> Format Model
Rounding or Truncating Unit
CC
SCC
One greater than the first two digits of a four-digit year
SYYYY
YYYY
YEAR
SYEAR
YYY
YY
Y
Year (rounds up on July 1)
IYYY
IY
IY
I
ISO Year
Q
Quarter (rounds up on the sixteenth day of the second month of the quarter)
MONTH
MON
MM
RM
Month (rounds up on the sixteenth day)
WW
Same day of the week as the first day of the year
IW
Same day of the week as the first day of the ISO year
W
Same day of the week as the first day of the month
DDD
DD
J
Day
DAY
DY
D
Starting day of the week
HH
HH12
HH24
Hour
MI
Minute
默認(rèn)為DD格式模型,返回四合五入的日期或截取到這天午夜的時(shí)間(即,晚上12點(diǎn))。
3.2 Examples
3.2.1YEAR模型
向上截取到1月1日
SQL> select trunc(sysdate,'YEAR') from dual;
TRUNC(SYSDATE,'YEAR')
---------------------
2014/1/1
3.2.2省略模型
SQL> select trunc(sysdate) from dual;
TRUNC(SYSDATE)
--------------
2014/1/4
省略模型,相當(dāng)于指定模型為DD.
SQL> select trunc(sysdate,'DD') from dual;
TRUNC(SYSDATE,'DD')
-------------------
2014/1/4
【Oracle認(rèn)證:OracleTRUNC函數(shù)詳解】相關(guān)文章:
Oracle認(rèn)證作用03-19
Oracle最新認(rèn)證03-09
Oracle認(rèn)證途徑03-20
Oracle認(rèn)證:ORACLE綁定變量BINDPEEKING03-08
Oracle認(rèn)證考試技巧03-19
oracle認(rèn)證考試詳情01-22