informix sql函数使用说明

一、内部函数
   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])返回经过调整的日期或日期时间值
       To_char函数将datetime和date值转化为字符值。 
       To_date函数将字符值转化为datetime类型的值。例to_date(“1978-10-07 10:00” ,”%Y-%m-%d %H:%M) 
       例子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  返回并在一起的字符;
   8、基数函数: 
     1)cardinality(仅适用IDS)函数对集合包含的元素数目计数。 
        智能大对象函数,(仅适用与IDS) 
       filetoblob( ),将文件复制到BLOB列中 
       filetoclob( ),将文件复制到CLOB列中 
       locopy( ),将BLOB或CLOB类型的数据复制到另一个BLOB或CLOB列中 
       lotofile( ),将BLOB或CLOB复制到文件中 
   9、字符串处理函数: 
       lower,将字符串中每个大写字母转换为小写字母 
       upper,将字符串中每个小写字母转换为大写字母 
       initcap,将字符串中每个词的首写字母转换成大写 
       replace,将字符串中的某一组字符转换成其他字符,例replace(col,”each”,”eve”) 
       substr,返回字符串中的某一部分,例substr(col,1,2) 
       substring,返回字符串中的某一部分,例substring(col,from 1 to 4) 
       lpad,使用lpad函数已用重复次数达到必要次数的字符序列在左边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。 
       举例:字段 col 为char(15)类型,select lpad(col,21,”_”) from tab_name则显示为在col前加上六个_。 
       Rpad,使用rpad函数已用重复次数达到必要次数的字符序列在右边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。 
       举例:字段col为char(15)类型,select rpad(col,21,”_”) from tab_name则显示为在col后边加上六个_。 
   10、其他函数: 
       hex,返回表达式的十六进制数 
       round,返回表达式的四舍五入值 
       trunc,返回表达式的截断值 
       length,计算表达式的长度 
       user,返回执行查询的用户的用户名(登陆帐户名) 
       today,返回当前系统日期 
       dbservername,返回数据库服务器的名称,同sitename 
       dbinfo,返回数据库的相关信息 
       decode,函数来将一个具有一个值的表达式转换为另一个值 
       decode(test,a,a_ value,b,b_ value,c,c_ value……),decode函数不支持TEXT和BYTE类型。 
       Nvl,来将求值为空的表达式转化为另一个想要指定的值。 
       另外还可以在select语句中使用存储过程,如select spl($test) from tab_name 
二、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;  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值