Heim  >  Artikel  >  Datenbank  >  Oracle bitand()和trunc()函数使用方法

Oracle bitand()和trunc()函数使用方法

WBOY
WBOYOriginal
2016-06-07 17:00:561736Durchsuche

关于TRUNC函数的format,format为day时,只精确到天,而不管几年几月只要是符合的day就可以了,要想确定一年中的某月的某一天就要用t

bitand()函数  

返回两个数值型数值在按位进行 AND 运算后的结果。  
语法  
BITAND(nExpression1,nExpression2)  
参数  
nExpression1,nExpression2  
 
指定按位进行AND 运算的两个数值。如果 nExpression1 和 nExpression2 为非整数型,那么它们在按位进行AND运算之前转换为整数。  
 
返回值类型  

数值型      
   
说明  
BITAND()将nExpression1的每一位同nExpression2的相应位进行比较。如果    nExpression1和nExpression2的位都是1,相应的结果位就是1;否则相应的结果位是 0。  

下表列出对nExpression1和nExpression2按位进行AND运算的结果:  
   
nExpression1位    nExpression2位    结果位    
0    0    0    
0    1    0    

1    1    1    
1    0    0   

 
bitand() 函数示例  
x    =    5      &&    二进制为    0101  
y    =    6      &&    二进制为    0110  
?    bitand(x,y)    &&    返回值    4,二进制为    0100  

-----------------------------------------------------------------

Oracle中的BITOR和BITXOR

ORACLE中只有BITAND而没有BITOR, BITXOR

原因是,有了BITAND, 很容易实现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()函数

关于TRUNC函数的format,format为day时,只精确到天,而不管几年几月只要是符合的day就可以了,要想确定一年中的某月的某一天就要用trunc(date,''dd'').

通俗的说吧,format为年时,精确到-----年

为月时,精确到------年,月(不管哪年,只要是相同的月和哪天)
为日时,精确到------年,月,日(不管哪年的哪月,只关心是哪天)

1.TRUNC(for dates)
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
下面是该函数的使用情况:
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函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn