Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)归海一刀published in(发表于) 2014/2/1 0:16:59 SQL的一些函数_[SQL,Server教程]
distinct去掉重复的minus 相减在第一个表但不在第二个表SELECT * FROM FOOTBALL MINUS SELECT * FROM SOFTBALL;intersect 相交INTERSECT 返回两个表****有的行。SELECT * FROM FOOTBAL;UNION ALL 与UNION 一样对表进行了合并但是它不去掉重复的记录。汇总函数countselect count(*) from test;SUMSUM 就如同它的本意一样它返回某一列的所有数值的和。SELECT SUM(SINGLES) TOTAL_SINGLES FROM TEST;SUM 只能处理数字如果它的处理目标不是数字你将会收到如下信息输入/输出SQL>SELECT SUM(NAME) FROM TEAMSTATS;ERRORORA-01722 invalid numberno rows selected该错误信息当然的合理的因为NAME 字段是无法进行汇总的。AVGAVG 可以返回某一列的平均值。SELECT AVG(SO) AVE_STRIKE_OUTS FROM TEAMSTATS;MAX如果你想知道某一列中的最大值请使用MAX。SELECT MAX(HITS) FROM TEAMSTATS;MINMIN 与MAX 类似它返回一列中的最小数值。VARIANCEVARIANCE 方差不是标准中所定义的但它却是统计领域中的一个至关重要的数值。SELECT VARIANCE(HITS) FROM TEAMSTATS;STDDEV这是最后一个统计函数STDDEV 返回某一列数值的标准差。SELECT STDDEV HITS FROM TEAMSTATS;日期时间函数ADD_MONTHS ADD_MONTHS也可以工作在select 之外该函数的功能是将给定的日期增加一个月举例来说由于一些特殊的原因上述的计划需要推迟两个月那么就用到了。LAST_DAYLAST_DAY 可以返回指定月份的最后一天.MONTHS_BETWEEN如果你想知道在给定的两个日期中有多少个月可以使用MONTHS_BETWEEN。select task, startdate, enddate ,months between(Startdate,enddate) duration from project;返回结果有可能是负值.可以利用负值来判断某一日期是否在另一个日期之前下例将会显示所有在1995 年5 月19 日以前开始的比赛.SELECT * FROM PROJECTWHERE MONTHS_BETWEEN ('19-MAY-95', STARTDATE)>0;NEW_TIME如果你想把时间调整到你所在的时区你可以使用NEW_TIME.SQL>SELECT ENDDATE EDT, NEW_TIME('ENDDATE',' EDT',' PDT') FROM PROJECT;NEXT_DAYNEXT_DAY 将返回与指定日期在同一个星期或之后一个星期内的你所要求的星期天数的确切日期如果你想知道你所指定的日期的星期五是几号可以这样做.SQL>SELECT STARTDATE, NEXT_DAY(STARTDATE,' FRIDAY') FROM PROJECT;SYSDATESYSDATE 将返回系统的日期和时间。SELECT DISTINCT SYSDATE FROM PROJECT;数学函数ABSABS 函数返回给定数字的绝对值CEIL 和FLOORCEIL 返回与给定参数相等或比给定参数在的最小整数.FLOOR 则正好相反它返回与给定参数相等或比给定参数小的最大整数.COS COSH SIN SINH TAN TANHCOS SIN TAN 函数可以返回给定参数的三角函数值默认的参数认定为弧度制.EXPEXP 将会返回以给定的参数为指数以e 为底数的幂.LN and LOG这是两个对数函数其中LN 返回给定参数的自然对数.MOD知道在ANSI 标准中规定取模运算的符号为%在一些解释器中被函数MOD 所取代.POWER该函数可以返回某一个数对另一个数的幂在使用幂函数时第一个参数为底数第二个为指数。SIGN如果参数的值为负数那么SIGN 返回-1 如果参数的值为正数那么SIGN 返回1,如果参数为零那么SIGN 也返回零.SQRT该函数返回参数的平方根,由于负数是不能开平方的所以我们不能将该函数应用于负数.字符函数CHR该函数返回与所给数值参数等当的字符返回的字符取决于数据库所依赖的字符集.CONCAT和||一个作用,把两个字符串连接起来.INITCAP该函数将参数的第一个字母变为大写此外其它的字母则转换成小写.LOWER 和UPPER如你所料LOWER 将参数转换为全部小写字母而UPPER 则把参数全部转换成大写字母.LPAD 与RPAD这两个函数最少需要两个参数最多需要三个参数每一个参数是需要处理的字符串第二个参数是需要将字符串扩充的宽度第三个参数表示加宽部分用什么字符来做填补第三个参数的默认值为空格但也可以是单个的字符或字符串.LTRIM 与RTRIMLTRIM 和RTRIM至少需要一个参数最多允许两个参数第一个参数与LPAD 和RPAD类似是一个字符串第二个参数也是一个字符或字符串默认则是空格如果第二个数不是空格的话那么该函数将会像剪除空格那样剪除所指定的字符.REPLACE它的工作就如果它的名字所说的那样该函数需要三个参数第一个参数是需要搜索的字符串(列名),第二个参数是搜索的内容第三个参数则是需要替换成的字符串如果第三个参数省略或者是NULL 那么将只执行搜索操作而不会替换任何内容.SUBSTR这个函数有三个参数允许你将目标字符串的一部份输出,第一个参数为目标字符串,第二个字符串是将要输出的子串的起点,第三个参数是将要输出的子串的长度。如果第二个参数为负数那么将会从源串的尾部开始向前定位至负数的绝对值的位置。TRANSLATE这一函数有三个参数,目标字符串、源字符串和目的字符串,在目标字符串与源字符串中均出现的字符将会被替换成对应的目的字符串的字符。INSTR如果需要知道在一个字符串中满足特定的内容的位置可以使用INSTR ,它的第一个参数是目标字符串,第二个参数是匹配的内容,第三和第四个参数是数字用以指定开始搜索的起点以及指出第几个满足条件的将会被返回。LENGTHLENGTH将返回指定字符串的长度。转换函数转换函数有三个可以使你方便地将数据从一种类型变换为另一种类型。TO_CHAR该函数的最初功能是将一个数字转换为字符型,不同的解释器可能会使用它来转换其它的数据类型例如日期型转换为字符型或者是拥有更多的参数。TO_NUMBER该函数与TO_CHAR 函数相对应显而易见它是将一个字符串型数字转换为数值型。其他函数GREATEST 与LEAST这两个函数将返回几个表达式中最大的和最小的。SELECT GREATEST(‘ALPHA’,‘ BRAVO’,‘ FOXTROT’,‘ DELTA’) FROM CONVERT;看来有必要使用FROM 子句可是如果FROM 子句没有的话你将会收到一个错误信息每一个SELECT 语句都需要FROM 子句。USER该函数返回当前使用数据库的用户的名字
赞