服务器 频道

PL/SQL学习笔记之四

  【IT168 服务器学院】number数字类型函数

  ABS(x) 函数,此函数用来返回一个数的绝对值。

  ACOS(x)函数,返回X的反余弦值。X范围从1到-1,输入值从0到派,以弧度为单位。

  ASIN(x)函数,返回X的反正弦值。X范围从1到-1,输入值从-PI/2到PI/2,以弧度为单位。

  ATAN(x)函数,返回X的反正切值。输入值从-PI/2到PI/2,以弧度为单位。

  BITAND(x,y)函数,返回X和Y的与结果。X和Y必须为非负整数。注意没有BITOR函数,但是在UTL_RAW包中有用      于RAW值的位操作符。

  CEIL(x)函数,用来返回大于或等于X的最小整数。

  COS(x)函数,返回x的余弦值。x是以弧度表示的角度。

  COSH(x)函数,返回X的双曲余弦。

  EXP(x)函数,与power(x,y)函数类似,不过不用指明基数,返回E的X次幂。E=2.71828183...

  FLOOR(x)函数,用来返回小于或等于X的最大整数。

  LN(x)函数,返回x的自然对数。x必须大于0。

  LOG(x,y)函数,返回以X为底Y的对数。底必须是不为0和1的正数,Y是任意正数。

  MOD(被除数,除数)求余函数,如果除数为0,则返回被除数。

  POWER(x,y)函数,返回X的Y次幂。底X和指数Y都不必是正整数,但如果X是负数的话,Y必须是整数。

  ROUND(x[,y])函数,返回舍入到小数点右边Y位的X值。Y缺省为0,这将X舍入为最接近的整数。如果Y是负数,       那么舍入到小数点左边相应的位上,Y必须为整数。

  SIGN(x)函数,此函数用来返回一个数的正负值,若为一个正数则返回1,若为一个负数则返回-1,若为0则仍返回0,有点像把模拟量数字化的意思。  

  SIN(x)函数,返回X的正弦。x是以弧度表示的角度。

  SINH(x)函数,返回x的双曲正弦。

  SQRT(x)函数,返回x的平方根,x不能是负数。

  TAN(x)函数,返回x的正切。x是以弧度表示的角度。

  TANH(x)函数,返回x的双曲正切。

  TRUNC(x[,y])截取值函数,Y缺省为0,这样X被截取成一个整数。如果Y为负数,那么截取到小数点左边相应位置WIDTH_BUCKET(x,min,max,num_buckets) 只能在SQL语句中使用。

  使用WIDTH_BUCKET可以根据输入参数创建等长的段。范围MIN到MAX被分为num_buckets节,每节有相同的大小。返回X所在的那一节。如果X小于MIN,将返回0,如果X大于或等于MAX,将返回num_buckets+1.MIN和MAX

  都不能为NULL,num_buckets必须是一个正整数。如果X是NULL,则返回NULL。

  时间类型函数:(date)

  内部存储格式:
  世纪、年、月、日、小时、分钟、秒

  默认格式是:DD-MON-RR。

  SYSDATE 返回当前的系统时间。

  SELECT SYSDATE FROM DUAL;

  对日期的数学运算

  SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
  数字列

  ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的   日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则    结果与DATE的日分量相同。时间分量也相同。

  CURRENT_DATE 以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当会话时区。

  CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 类型返回会话时区当前的日期。如果    指定precision,它指返回秒数的精度,缺省为6。

  DBTIMEZONE 返回数据库的时区。 

  LAST_DAY(日期) 指定日期所在月份的最后一天的日期,这个函数可用来确定本月还有多少天。

  LOCALTIMESTAMP[(precision)] 以TIMESTAMP类型返回会话时区的当前日期。如果指定precision,它指返回秒数的精度,缺省为6 。

  MONTHS_BETWEEN(离当前比较近的日期date1,以前的日期)  两个日期之间相差的月数(以日作为最小单位来计算的)。返回是相差的月数。如果date1和date2的日分量相同,或者这两个日期都分别是所在月的最后一天,那么返回结果是个整数。否则,返回结果包含一个分数,以一个月31天计算。

  NEW_TIME(d,zone1,zone2)函数,当时区zone1中的日期和时间是D的时候,返回时区zone2中的日期和时间。
   返回类型为DATE。zone1和zone2是字符字符串,另外的时区可在ORACLE9I中
   通过查询V$TIMEZONE_NAMES得到。  

  NEXT_DAY (日期,星期几) 指定日期后将要遇到的后七天的某一天的日期。

  ROUND(日期,‘MONTH/YEAR’) 四舍五入得到新的日期。 保留位置是月和年

  SESSIONTIMEZONE 返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指   定格式,则与 ALTER SESSION 语句中的格式相同。

  SYS_EXTRACT_UTC(datetime) 从提供的DATETIME中以UTC(Coordinated Universal Time)返回时间。
  DATETIME必须包含一个时区。

  SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回当前的日期和时间。当在分布式SQL语句中使用的时  候,返回本地数据库的日期和时间。

  TRUNC(日期,‘MONTH/YEAR’) 截取

  TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之间的偏移量。timezone可以被指定为时   区名或''+/-HH:HI''格式表示的偏移量。也可使用SESSIONTIMEZONE和   DBTIMEZONE函数,返回格式为''+/-HH:HI''。

  字符字符串   时区
  AST    大西洋标准时
  ADT    大西洋夏令时
  BST    白令标准时
  BDT    白令夏令时
  CST    中央标准时
  CDT    中央夏令时
  EST    东部标准时
  EDT    东部夏令时
  GMT    格林威治平均时
  HST    阿拉斯加夏威夷标准时
  HDT    阿拉斯加夏威夷夏令时
  MST    Mountain标准时
  MDT    Mountain夏令时
  NST    纽芬兰标准时
  PST    太平洋标准时
  PDT    太平洋夏令时
  YST    YuKon标准时
  YDT    YuKon夏令时 
 

0
相关文章