bitand()函數(shù)
返回兩個數(shù)值型數(shù)值在按位進行 AND 運算后的結(jié)果。
語法
BITAND(nExpression1,nExpression2)
參數(shù)
nExpression1,nExpression2
-
指定按位進行AND 運算的兩個數(shù)值。如果 nExpression1 和 nExpression2 為非整數(shù)型,那么它們在按位進行AND運算之前轉(zhuǎn)換為整數(shù)。
返回值類型
數(shù)值型
說明
BITAND()將nExpression1的每一位同nExpression2的相應位進行比較。如果 nExpression1和nExpression2的位都是1,相應的結(jié)果位就是1;否則相應的結(jié)果位是 0。
下表列出對nExpression1和nExpression2按位進行AND運算的結(jié)果:
nExpression1位 nExpression2位 結(jié)果位
0 0 0
0 1 0
1 1 1
1 0 0
bitand() 函數(shù)示例
x = 5 && 二進制為 0101
y = 6 && 二進制為 0110
? bitand(x,y) && 返回值 4,二進制為 0100
-----------------------------------------------------------------
Oracle中的BITOR和BITXOR
Oracle中只有BITAND而沒有BITOR, BITXOR
原因是,有了BITAND, 很容易實現(xiàn)BITOR和BITXOR
BITOR(x,y) = (x + y) - BITAND(x, y);
BITXOR(x,y) = BITOR(x,y) - BITAND(x,y) = (x + y) - BITAND(x, y) * 2;
trunc()函數(shù)
關于TRUNC函數(shù)的format,format為day時,只精確到天,而不管幾年幾月只要是符合的day就可以了,要想確定一年中的某月的某一天就要用trunc(date,''dd'').
通俗的說吧,format為年時,精確到-----年
為月時,精確到------年,月(不管哪年,只要是相同的月和哪天)
為日時,精確到------年,月,日(不管哪年的哪月,只關心是哪天)
1.TRUNC(for dates)
TRUNC函數(shù)為指定元素而截去的日期值。
其具體的語法格式如下:
TRUNC(date[,fmt])
其中:
date 一個日期值
fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去
下面是該函數(shù)的使用情況:
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’
round (date,''format'')未指定format時,如果日期中的時間在中午之前,則將日期中的時間截斷為12 A.M.(午夜,一天的開始),否則進到第二天。
TRUNC(date,''format'')未指定format時,將日期截為12 A.M.,不考慮是否在中午之前的條件。
2.TRUNC(for number)
TRUNC函數(shù)返回處理后的數(shù)值,其工作機制與ROUND函數(shù)極為類似,只是該函數(shù)不對指定小數(shù)前或后的部分做相應舍入選擇處理,而統(tǒng)統(tǒng)截去。
其具體的語法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取處理的數(shù)值
decimals 指明需保留小數(shù)點后面的位數(shù)?蛇x項,忽略它則截去所有的小數(shù)部分
下面是該函數(shù)的使用情況:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二個參數(shù)可以為負數(shù),表示為小數(shù)點左邊指定位數(shù)后面的部分截去,即均以0記。 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|