Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5543031
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: DB2/Informix

2008-05-06 21:20:17

一、内部函数
  1、内部合计函数
      1)COUNT(*)                    返回行数
      2)COUNT(DISTINCT COLNAME)     返回指定列中唯一值的个数
      3)SUM(COLNAME/EXPRESSION)     返回指定列或表达式的数值和;
      4)SUM(DISTINCT COLNAME)       返回指定列中唯一值的和
      5)AVG(COLNAME/EXPRESSION)     返回指定列或表达式中的数值平均值
      6)AVG(DISTINCT COLNAME)       返回指定列中唯一值的平均值
      7)MIN(COLNAME/EXPRESSION)     返回指定列或表达式中的数值最小值
      8)MAX(COLNAME/EXPRESSION)     返回指定列或表达式中的数值最大值      
  2、日期与时间函数  
      1)DAY(DATE/DATETIME EXPRESSION)      返回指定表达式中的当月几号
      2)MONTH(DATE/DATETIME EXPRESSION)    返回指定表达式中的月份
      3)YEAR(DATE/DATETIME EXPRESSION)     返回指定表达式中的年份
      4)WEEKDAY(DATE/DATETIME EXPRESSION)  返回指定表达式中的当周星期几
      5)DATE(NOT DATE EXPRESSION)          返回指定表达式代表的日期值
      6)TODAY                                返回当前日期的日期值
      7)CURRENT[FIRST TO LAST]               返回当前日期的日期时间值
      8)COLNAME/EXPRESSION UNITS PRECISION   返回指定精度的指定单位数
      9)MDY(MONTH,DAY,YEAR)              返回标识指定年、月、日的日期值
      10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值
      11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值
      12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回经过调整的日期或日期时间值

      例子1、和UNITS合用,指定日期或时间单位(year,month,day,hour,minute,seond,fraction):
             let tmp_date = today + 3 UNITS day
      例子2、let tmp_date = MDY(10,30,2002)    -- 2002-10-30
      例子3、let tmp_date = today + interval(7) day to day  --当前时间加上7天;
             注:该功能与1相似;
      例子4、EXTEND转换日期或日期时间值
             let tmp_inthour = extend(datetime1,hour to hour)

  3、代数函数  
     1)ABS(COLNAME/EXPRESSION):             取绝对值
     2)MOD(COLNAME/EXPRESSION,DIVISOR)    返回除以除数后的模(余数)        
     3)POW(COLNAME/EXPRESSION,EXPONENT)   返回一个值的指数冥
        例子:let tmp_float = pow(2,3)  --8.00000000

     4)ROOT(COLNAME/EXPRESSION,[INDEX])   返回指定列或表达式的根值
       
     5)SQRT(COLNAME/EXPRESSION)            返回指定列或表达式的平方根值

     6)ROUND(COLNAME/EXPRESSION,[FACTOR]) 返回指定列或表达式的圆整化值
     7)TRUNC(COLNAME/EXPRESSION,[FACTOR]) 返回指定列或表达式的截尾值
        说明:上两者中FACTOR指定小数位数,若不指定,则为0;若为负数,则整化到小数点左边;
        注:ROUND是在指定位上进行4舍5入;TRUNC是在指定位上直接截断;
         let tmp_float = round(4.555,2) --4.56
         let tmp_float = trunc(4.555,2) --4.55
 
  4、指数与对数函数  
     1)EXP(COLNAME/EXPRESSION)        返回指定列或表达式的指数值
     2)LOGN(COLNAME/EXPRESSION)       返回指定列或表达式的自然对数值
     3)LOG10(COLNAME/EXPRESSION)      返回指定列或表达式的底数位10的对数值

  5、三角函数  
     1)COS(RADIAN EXPRESSION)          返回指定弧度表达式的余弦值
     2)SIN(RADIAN EXPRESSION)          正弦
     3)TAN(RADIAN EXPRESSION)          正切
     4)ACOS(RADIAN EXPRESSION)         反余弦
     5)ASIN(RADIAN EXPRESSION)         反正弦
     6)ATAN(RADIAN EXPRESSION)         反正切
     7)ATAN2(X,Y)                     返回坐标(X,Y)的极坐标角度组件

  6、统计函数  
     1)RANGE(COLNAME)       返回指定列的最大值与最小值之差 = MAX(COLNAME)-MIN(COLNAME)
     2)VARIANCE(COLNAME)    返回指定列的样本方差;
     3)STDEV(COLNAME)       返回指定列的标准偏差;

  7、其他函数  
     1)USER                            返回当前用户名
     2)HEX(COLNAME/EXPRESSION)       返回指定列或表达式的十六进制值
     3)LENGTH(COLNAME/EXPRESSION)    返回指定字符列或表达式的长度
     4)TRIM(COLNAME/EXPRESSION)      删除指定列或表达式前后的字符
     5)COLNAME/EXPRESSION || COLNAME/EXPRESSION  返回并在一起的字符;        

二、IDS内部函数
  1、DBSERVERNAME      返回数据库服务器名  let tmp_char=DBSERVERNAME
  2、SITENAME          返回数据库服务器名  let tmp_char=SITENAME
     说明:两者功能相同;

  3、DBINFO(‘SPECIAL_KEYWORD')      返回只关键字值
     例子1:返回数据中每个表的DBSPACE名称
        select dbinfo('dbspace',partnum),tabname from systables
         where tabid>99 and tabtype='T'  (OK)
     例子2:返回任何表中插入的最后一个SERIAL值
         select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1
     例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数;
         select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;

阅读(756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~