常用函数
 
a) ?    Functions可以查询各种普通函数
b) ?    Functions and Modifiers for Use withGROUP BY可以查询各种分组(聚合)函数
 
    a)字符串函数
 --  mysql在处理字符串时,字符下标从1开始。
 --      concat(s1,s2,... sn)连接s1,s2,... sn为一个字符串
 --      insert(str,x,y,instr)讲字符串str第x位置开始,y个字符长的子串替换为字符串instr(这里会删除原来的内容,相当于java stringbuilder replace)
 --      lower(str)转小写
 --      upper(str)转大写
 --      left(str,x)返回 str 左边x个字符
  --      right(str,x)返回 str 右边x个字符 --      lpad(str,n,pad)用字符串pad对str左边填充直到总长度为n
 --      rpad(str,n,pad)用字符串pad对str右边填充直到总长度为n
 --      ltrim(str)去掉字符串左边空格
 --      rtrim(str)去掉字符串右边空格
 --      trim(str)去除str左右的空格
 --      repeat(str,x)字符串str重复x次的结果
 --      replace(str,a,b)把str中所有a替换为b
 --       substring(str,x,y)截取str的x位置起y个字符长度的字符串
 
 b) 数值函数

       ABS(X) 取绝对值函数
       CEILING(X), CEIL(X) 返回大于x的最小整数
       FLOOR(X)  返回小于x的最大整数
       MOD(N,M), N % M, N MOD M 取模函数
       RAND(), RAND(N) 取0-1之间的随机数函数 0 ≤ v ≤ 1.0浮点数
       TRUNCATE(X,D) 返回数字X被截断为D位小数的结果

 c)日期和时间函数
 
--       CURDATE() 当前日期函数
--       CURTIME() 当前时间函数
--       NOW() 当前日期和时间函数
--       WEEK(date)返回所给日期是一年中的第几周
--       YEAR(date)返回所给日期是那一年
--       HOUR(time)返回时间的小时信息
--       MINUTE(time) 返回时间的分钟信息
--       MONTHNAME(date) 返回时间的完整月份名字
--       DATE_FORMAT(date,format)根据format格式date显示形式
-- STR_TO_DATE(str,format)函数(字符串转时间)
--       DATE_ADD(date,INTERVAL expr type) 返回与所给日期date相差INTERVAL的时间段
--       DATEDIFF(expr,expr2) 计算两个日期之间相差的天数
 
  d)类型转换函数
 --  BINARY函数(字符串转换二进制字符串)(=等值比较字符串时会忽略大小写和空格,通过BINARY可以强制比较真实内容)
 --       SELECT 'a'='A'
 --       SELECT 'a'='A '
 --       SELECT BINARY 'a'= BINARY 'A '
 --   Cast函数(值转换为其他类型)    
 --      SELECT CAST('-1' AS SIGNED ); 字符串转有符号数字
 --      SELECT CAST('-1' AS UNSIGNED); 字符串转无符号数字
 --     SELECT CAST(11 AS char); 数字转字符串
       
-- STR_TO_DATE(str,format)函数(字符串转时间)
--     SELECTSTR_TO_DATE('01,5,2013','%d,%m,%Y');
--     SELECTSTR_TO_DATE('09:30:17','%h:%i:%s');
-- DATE_FORMAT(date,format)函数(时间按格式转字符串)
--    SELECT DATE_FORMAT('2009-10-0422:23:00', '%d %m %Y');
-- SEC_TO_TIME(seconds)函数(分钟数转时间time)
--   SELECTSEC_TO_TIME(2378);
-- TIME_TO_SEC(time)函数(时间time转分钟数)
--   SELECT TIME_TO_SEC(curTime());
 e)流程函数
 
        IF(b1,expr2,expr3)函数:
           如果b1为真(非0,和null)则返回expr2,否则返回expr3//有点像java中三目运算
        IFNULL(expr1,expr2)函数:
           若expr1为NULL则返回expr2内容
        CASE函数
1)定值比较-类似于switch结构
       CASE value 
       WHEN [compare_value] THEN result
       [WHEN [compare_value] THEN result...] 
       [ELSE result]END
2)条件判断-类似于if else if结构       CASE WHEN [condition] THEN result        [WHEN [condition] THEN result ...] 
       [ELSE result] END
 
 e) 其他函数
      DATABASE()函数:用于查询当前使用数据库的名字(通过 use dbname切换)
       VERSION()函数:用户查询所使用数据库的版本
       USER()函数:查询当前登陆用户名
       INET_ATON(expr)函数:查询IP地址的网络字节序表示,反函数是          INET_NTOA,如('192.168.1.1')
       INET_NTOA(expr)函数:查询网络字节序代表的IP地址,是INET_ATON的反函数