--------------------------------------数字操作---------------------------------------------------------------------
select avg(amount) from t_aa_view_income_data--返回一组数值的平均值
select count(*) from t_aa_view_income_data--返回一组行或值的个数
select max(amount) from t_aa_view_income_data--返回一组数值中的最大值
select min(amount) from t_aa_view_income_data--返回一组数值中的最小值
select sum(amount) from t_aa_view_income_data--返回一组数据的和
select abs(-3.4) from t_aa_view_income_data--返回参数的绝对值(结果=3.4)
select absval(-3.4) from t_aa_view_income_data--返回参数的绝对值(结果=3.4)
select ceil(2.8) from t_aa_view_income_data--返回比参数大或等于参数的最小的整数值(结果=3)
select ceiling(2.8) from t_aa_view_income_data--返回比参数大或等于参数的最小的整数值(结果=3)
select floor(2.8) from t_aa_view_income_data--返回小于或等于参数的最大整数(结果=2)
select trunc(345.6789,3) from t_aa_view_income_data--从表达式小数点右边的位置开始截断并返回该数值(结果=345.6780),后面的参数指从小数点右边第几个数后截断
select trunc('55555.55',3) from t_aa_view_income_data--(第1个参数可以是字符,但必须是数值,结果=55555.550)
select trunc('55555',3) from t_aa_view_income_data--(结果=55555.000)
select truncate(345.6789,3) from t_aa_view_income_data--从表达式小数点右边的位置开始截断并返回该数值(结果=345.6780),后面的参数指从小数点右边第几个数后截断
select sqrt(36) from t_aa_view_income_data--返回该参数的平方根(结果=6.0)
select round(2345.6789,2) from t_aa_view_income_data--返回EXP1小数点右边的第EXP2位置处开始的四舍五入值(结果=2345.6800)
select real(10) from t_aa_view_income_data--返回一个数值的单精度浮点数表示(结果=10.0)
select rand() from t_aa_view_income_data--返回0和1之间的随机浮点数(结果类似为:0.7932188058240427)
select power(2,3) from t_aa_view_income_data--返回EXP1的EXP2次幂(结果=8)
select mod(8,3) from t_aa_view_income_data--返回EXP1除以EXP2的余数(结果=2)
select double(8) from t_aa_view_income_data--如果参数是一个数字表达式,返回与其相对应的浮点数(结果=8.0)
select double('8') from t_aa_view_income_data--如果参数是字符串表达式,则返回该数的字符串表达式(结果=8.0)
select float(8) from t_aa_view_income_data--返回一个数的浮点表示(结果=8.0)
--select exp(4) from t_aa_view_income_data--返回参数的指数函数
--select hex('we') from t_aa_view_income_data--返回一个表示为字符串的值的16进制表示
--select  corr(amount,amount) from t_aa_view_income_data--返回一对数值的关系系数
--select  correlation(amount,amount) from t_aa_view_income_data--返回一对数值的关系系数
--select covar(3,2) from t_aa_view_income_data--返回一对数值的协方差
--select covariance(3,2) from t_aa_view_income_data--返回一对数值的协方差
--select stddev(amount) from t_aa_view_income_data--返回一组数值中的标准偏差
--select var(amount) from t_aa_view_income_data--返回一组数值的方差
--select variance(amount) from t_aa_view_income_data--返回一组数值的方差
--select acos(0.9) from t_aa_view_income_data--返回参数的反余弦值
--select asin(0.9) from t_aa_view_income_data--返回用弧度表示的角度的参数的反正弦函数
--select atan(0.9) from t_aa_view_income_data--返回参数的反正切值,该参数用弧度表示的角度的参数
--select atan2(0.5,0.9) from t_aa_view_income_data--返回用弧度表示的角度的X和Y坐标的反正切值
--select bigint(2.8) from t_aa_view_income_data--返回整型常量中的数字或字符串的64位整数表示
--select ascii('R') from t_aa_view_income_data--返回整数参数最左边的字符的ASCII码
--select chr(82) from t_aa_view_income_data--返回具有由参数指定的ASCII码的字符,此句中,结果返回R

--------------------------------------字符串操作---------------------------------------------------------------------
select char(amount,',') from t_aa_view_income_data--返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示(如果amount=2.4,结果=2,4)
select char('ssssss',2) from t_aa_view_income_data--(结果=ss),后面的参数指长度
select varchar(area_id,1) from t_aa_view_income_data--返回字符串,日期型,图形串的可变长度的字符串表示(如果area_id=22,结果=2),后面的参数指长度
select concat('w','e') from t_aa_view_income_data--返回两个字符串的连接(结果=we)
select upper('we') from t_aa_view_income_data--返回字符串的大写(结果=WE)
select ucase('we') from t_aa_view_income_data--返回字符串的大写(结果=WE)
select substr('we believe',2) from t_aa_view_income_data--返回第1个参数自第2个参数(整数)处开始的子串(结果=e believe)
select substr('we believe',2,3) from t_aa_view_income_data--返回第1个参数自第2个参数(整数)处开始的子串(结果=e b),最后一个参数指取几个
select space(100) from t_aa_view_income_data--返回由参数指定的长度,包含空格在内的字符串(结果返回100个空格组成的字符串)
select rtrim('we believe  ') from t_aa_view_income_data--删除字符串尾部的空格(结果=we believe)
select ltrim('  we believe  ') from t_aa_view_income_data--删除字符串前面的空格(结果=we believe  )
select replace('sssstnnd','tnnd','wmmb') from t_aa_view_income_data--用EXP3替代EXP1中所有的EXP2(结果=sssswmmb)
select repeat('tnnd',2) from t_aa_view_income_data--返回EXP1重复EXP2次后的字符串(结果=tnndtnnd),最后一个参数指重复的次数
select posstr('abcdefgh','d') from t_aa_view_income_data--返回EXP2在EXP1中的位置(结果=4)
select nullif('we','we') from t_aa_view_income_data--如果EXP1=EXP2,则为NULL,否则为EXP1(结果=null)
select nullif('we','w') from t_aa_view_income_data--如果EXP1=EXP2,则为NULL,否则为EXP1(结果=we)

--------------------------------------其他---------------------------------------------------------------------
--select nodenumber(id),nodenumber(area_id) from t_aa_view_income_data--返回行的分区号

--------------------------------------日期操作---------------------------------------------------------------------
select date(date_time) from t_aa_view_income_data--返回一个数值中的日期(如果date_time=2013-05-20 00:00:00,结果=2013-05-20)
select year(date_time) from t_aa_view_income_data--返回数值的年部分(如果date_time=2013-05-20 00:00:00,结果=2013)
select month(date_time) from t_aa_view_income_data--返回数值的月部分(如果date_time=2013-05-20 00:00:00,结果=5)
select day(date_time) from t_aa_view_income_data--返回数值的天部分(如果date_time=2013-05-20 00:00:00,结果=20)
select time(date_time) from t_aa_view_income_data--返回一个数值中的时间(如果date_time=2013-05-20 00:00:00,结果=00:00:00)
select hour('18:34:32') from t_aa_view_income_data--返回一个数值的小时部分(结果=18)
select minute('18:34:32') from t_aa_view_income_data--返回一个数值的分钟部分(结果=34)
select second('18:34:32') from t_aa_view_income_data--返回一个数值的秒部分(结果=32)
values microsecond(current timestamp) --返回一个数值的微秒部分(结果=636967)
values dayname(current date)--返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(结果=Sunday)
values monthname(current date)--对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January,结果=June)   
values dayofweek(current date)--返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日(结果=1)
values dayofweek_iso(current date)--返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一(结果=7)
values week(current date)--返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始(结果=23)
values week_iso(current date)--返回参数中一年的第几周,用范围在 1-53 的整数值表示(结果=22)
values dayofyear(current date)--返回参数中一年中的第几天,用范围在 1-366 的整数值表示(结果=153)
values days (current date)--返回日期的整数表示(结果=735021)
values julian_day (current date)--返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示.(结果=2456446)
values midnight_seconds (current time)--返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示(结果=45851)
values current timestamp--获取当前日期和时间(结果=2013-06-02 12:18:23)
values timestamp_iso(current timestamp)--根据日期、时间或时间戳记参数而返回一个时间戳记值(结果=2013-06-02 12:49:54)
values current date--获取当前日期(结果=2013-06-02)
values current time--获取当前时间(结果=12:12:02)
values current timezone--当前时区寄存器
values timestamp ('2002-10-20-12.00.00.000000') --将字符串转换成日期或时间值(结果=2002-10-20 12:00:00)
values timestamp ('2002-10-20-12.00.00') --将字符串转换成日期或时间值(结果=2002-10-20 12:00:00)
values date('1999-10-22 12:12:02')--将字符串类型转换为日期类型(结果=1999-10-22)
values date('10/20/2002')--将字符串类型转换为日期类型(结果=2002-10-20)
values time ('12:00:00')--将字符串类型转换为时间类型(结果=12:00:00)
values time ('12.00.00')--将字符串类型转换为时间类型(结果=12:00:00)
values char(current date)--将日期转换为字符串(结果=2013-06-02)
values (current date + 1 year + 3 years + 2 months + 15 days)--还可以使用英语来执行日期计算
values(current time + 5 hours - 3 minutes + 10 seconds)--还可以使用英语来执行时间计算
values days (date('1999-11-02')) - days(date('1999-10-30')) --要计算两个日期之间的天数,您可以对日期作减法(结果=3)
values current time - current timezone--要使当前时间或当前时间戳记调整到 GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器(结果=04:58:00)
values current timestamp - current timezone--(结果=2013-06-02 04:59:15)
values current timestamp - microsecond (current timestamp) microseconds --获得微秒部分归零的当前时间戳记

values varchar_format(current timestamp,'yyyy-mm-dd')--从已使用字符模板解释的字符串返回时间戳记(结果=2013-06-02)
values to_char(current timestamp,'yyyy-mm-dd')--返回已用字符模板进行格式化的时间戳记的字符表示,TO_CHAR 是 VARCHAR_FORMAT 的同义词(结果=2013-06-02)
values timestamp_format('1999-11-02','yyyy-mm-dd')--从已使用字符模板解释的字符串返回时间戳记(结果=1999-11-02 00:00:00)
values to_date('1999-11-02','yyyy-mm-dd')--从已使用字符模板解释过的字符串返回时间戳记,TO_DATE 是 TIMESTAMP_FORMAT 的同义词(结果=1999-11-02 00:00:00)
values timestampdiff (16, char(timestamp('2002-11-30-00.00.00')-timestamp('2002-11-08-00.00.00'))) --(结果=22)
--根据两时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差,但该函数返回的是近似值,因为它不考虑闰年,而且假设每个月只有30 天。
--对于第1个参数,可以使用以下各值来替代,以指出结果的时间单位: 
--1 = 秒的小数部分  
--2 = 秒  
--4 = 分  
--8 = 时  
--16 = 天  
--32 = 周  
--64 = 月  
--128 = 季度  
--256 = 年  

--当日期很接近时使用timestampdiff() 比日期相差很大时精确。如果需要进行更精确的计算,可以使用以下方法来确定时差(按秒计): 
--(DAYS(t1) - DAYS(t2)) * 86400 +  (MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2)) 
--为方便起见,还可以对上面的方法创建SQL 用户定义的函数: 
--CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP) 
--RETURNS INT 
--RETURN ( 
--(DAYS(t1) - DAYS(t2)) * 86400 +   
--(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2)) 
--)@

--如果需要确定给定年份是否是闰年,以下是一个很有用的SQL 函数,您可以创建它来确定给定年份的天数: 
--CREATE FUNCTION daysinyear(yr INT) 
--RETURNS INT 
--RETURN (CASE (mod(yr, 400)) WHEN 0 THEN 366 ELSE  
--        CASE (mod(yr, 4))   WHEN 0 THEN  
--        CASE (mod(yr, 100)) WHEN 0 THEN 365 ELSE 366 END  
 --       ELSE 365 END 
--END)@