现在的位置: 首页 > 综合 > 正文

SQL重入门(3)—函数

2013年09月02日 ⁄ 综合 ⁄ 共 2396字 ⁄ 字号 评论关闭

1.汇总函数

   汇总函数是一组函数,返回的数值是基于一列。

    (1) count

    返回满足WHERE 条件子句中记录的个数。用法:SELECT COUNT(*) FROM TEAMSTATS WHERE HITS/AB <0.35

    (2)SUM

     就如同它的本意一样,它返回某一列的所有数值的和.用法:SELECT SUM(SINGLES) TOTAL_SINGLES FROM TEAMSTATS

     注意,sum只能处理数字类型的数据。

    (3)AVG

     可以返回某一列的平均值.用法:SELECT AVG(SO) AVE_STRIKE_OUTS FROM TEAMSTATS

     同样,avg也只能处理数字类型的数

    (4)MAX/MIN

    返回一列中的最大/小值。用法:SELECT MAX(HITS) FROM TEAMSTATS。

    汇总函数无法在WHERE 子句中使用,MAX/MIN处理字符数据时,按照ascii中字母排序进行查找。

    (5)VARIANCE

    计算方差,用法:SELECT VARIANCE(HITS) FROM TEAMSTATS

    只能用于处理数字型数据。

    (6)STDDEV

    计算标准差,用法:SELECT STDDEV(HITS) FROM TEAMSTATS

    只能用于处理数字型数据

2.日期与时间函数

    (1) ADD_MONTHS

    将给定的日期增加一个月,用法:

      SELECT TASK ,STARTDATE, ENDDATE ORIGINAL_END, ADD_MONTHS(ENDDATE,2) FROM PROJECT;

     此语句的意义为:在新表中显示 TASK , STARTDATE , GORGINAL_END , ADD_MONTHS 四列,GORGINAL_EDN为ENDDATE的重命名,ADD_MONTHS 为 ENDDATE 推迟2个月的时间。
      你将会发现这一部分中的几乎所有的函数都可能工作在不只一个地方,但是,如果没有TO_CHAR 和TO_DATE 函数的助,ADD_MONTH就无法在字符或数字类型中工作。

   (2)LAST_DAY

   可以返回指定日期所在月份的最后一天,用法:SELECT ENDDATE, LAST_DAY(ENDDATE) FROM PROJECT;

  (3)MONTHS_BETWEEN

   计算在给定的两个日期中有多少个月,结果可能是小数或负数(对次序敏感),用法:

   SELECT * FROM PROJECT WHERE MONTHS_BETWEEN ('19-MAY-95' STARTDATE)>0;

   找出所有在'19-MAY-95' 之前的(即'19-MAY-95' -data >0)的记录

  (4) NEW_TIME

   把时间调整到指定时区,用法:

   SELECT ENDDATE EDT, NEW_TIME(ENDDATE,‘ EDT’, 'PDT') FROM PROJECT

   将ENDDATA由EDT时区调整到PDT时区

   (5)NEXT_DAY

   将返回与指定日期在同一个星期或之后一个星期内的你所要求的星期天数的确切日期,用法:

    SELECT STARTDATE NEXT_DAY(STARTDATE,' FRIDAY') FROM PROJECT

    输出的结果告诉了你距你所指定的日期最近的星期五的日期

   (6)SYSDATE

   将返回系统的日期和时间,用法:SELECT DISTINCT SYSDATE FROM PROJECT

3. 数学函数

    数字函数有取绝对值函数ABS,向上向下取整CEIL和FLOOR;

    三角函数COS、SIN、TAN,注意,这里的参数是弧度而非角度,如COS(45)是0525而非0.707

    EXP ,以e为底的幂函数;

    LN and LOG:对数函数,第一个是自然对数,第二个LOG需要两个参数:LOG(A,B)指以B为底A的对数。

    MOD:MOD(A,B) A与B相除后取余数

    POWER:返回某一个数对另一个数的幂。在使用幂函数时,第一个参数为底数,第二个指数

    SIGN:如果参数的值为负数,那么SIGN 返回-1 ,如果参数的值为正数,那么SIGN 返回1,如果参数为零,那么SIGN 也返回零

    SQRT:该函数返回参数的平方根,由于负数是不能开平方的,所以参数不能为负

 

 
4.字符函数

    CHR:返回与所给数值参数等当的字符,返回的字符取决于数据库所依赖的字符集,可以实现数字与字符的转换
    CONCAT:功能类似于连接符'||',

                    用法:SELECT CONCAT(FIRSTNAME LASTNAME) "FIRST AND LAST NAMES" FROM CHARACTERS

                             当用多个词来做为别名时,需对它们使用引号,请检查你的解释器看看它是否支持别名

    INITCAP:该函数将参数的第一个字母变为大写,此外其它的字母则转换成小写;

    LOWER 和UPPER:LOWER 将参数转换为全部小写字母,而UPPER 则把参数全部转换成大写字母

    LPAD 与RPAD:分别是后填充和前填充。这两个函数最少需要两个参数最多需要三个参数,每一个参数是需要处理的字符串,第二个参数是需要将字符串扩充的宽度,第三个参数表示加宽部分用什么字符来做填补,第三个参数的默认值为空格,但也可以是单个的字符或字符串 。

    LTRIM 与RTRIM:LTRIM 和RTRIM至少需要一个参数,最多允许两个参数。第一个参数与LPAD 和RPAD类似,是一个字符串,第二个参数也是一个字符或字符串,默认则是空格。如果第二个参数不是空格的话,那么该函数将会像剪除空格那样剪除所指定的字符

 

 

 

 

 

 

5. 转换函数

6.其它函数

抱歉!评论已关闭.