MySql常用函数

-- 字符串函数

1.  函数:CONCAT(s1,s2...sn)
    描述:字符串 s1,s2 等多个字符串合并为一个字符串
    实例:select concat('hello','world');
    
2.  函数:CHAR_LENGTH(str)
    描述:返回字符串 str 的字符数
    实例:select char_length('你好,hello');
    
3.  函数:LENGTH(str)
    描述:返回字符串 s 的字节数
    字符集:UTF8(一个中文字符占3个字节)
    实例:select length('你好,hello');
    
4.  函数:LCASE(s) | UCASE(s)
    描述:将字符串英文字母转换为大小写
    实例:select ucase('itcast');
    
5.  函数:LOCATE(s1,str)
    描述:从字符串 str 中获取 s1 的开始位置
    注意:位置从1开始
    实例:select locate('he','itheima');
    
6.  函数:TRIM(str) | LTRIM(str) | RTRIM(str)
    描述:字符串去空格
    实例:select trim('  哈哈,呵呵  ');
    
7.  函数:REPLACE(str,s1,s2)
    描述:将字符串 s2 替代字符串 str 中的字符串 s1
    实例:select replace('abc','b','x');
    
8.  函数:SUBSTR(s, start, length)
    描述:从字符串 s 的 start 位置截取长度为 length 的子字符串
    注意:从1开始截取
    实例:select substr('itheima','2','3');
    
9. 函数:STRCMP(str1,str2)
    描述:比较字符串大小,左大于右时返回1,左等于右时返回0,,左小于于右时返回-1,
    实例:select strcmp('z','b');

-- 日期函数

1.  函数:NOW() | CURDATE() | CURTIME()
    描述:获取系统当前日期时间、日期、时间
    实例:select now();
    
2.  函数:YEAR(DATE) | MONTH(DATE) | DAY(DATE)
    描述:从日期中选择出年、月、日
    实例:select year(now());
    
3.  函数:LAST_DAY(DATE)
    描述:返回月份的最后一天
    实例:select last_day(now());
    
4.  函数:ADDDATE(DATE,n) | SUBDATE(DATE,n)
    描述:计算起始日期 DATE 加(减) n 天的日期
    实例:select subdate(now(),10);
    
5.  函数:QUARTER(DATE)
    描述:返回日期 DATE 是第几季节,返回 14
    实例:select quarter(now());
    
6.  函数:DATEDIFF(d1,d2)
    描述:计算日期 d1->d2 之间相隔的天数
    实例:select datediff(now(),'1999-3-6');
    
7.  函数:DATE_FORMAT(d,f)
    描述:按表达式 f的要求显示日期 d
    实例:select date_format(now(),'%Y年%m月%d日');

-- 数字函数

1.  函数:ABS(x)
    描述:返回 x 的绝对值  
    实例:select abs(-10);
    
2.  函数:CEIL(x) | FLOOR(x)
    描述:向上(下)取整
    实例:select ceil(1.5);
    
3.  函数:MOD(x,y)
    描述:返回x mod y的结果,取余
    实例:select mod(5,4);
    
4.  函数:RAND()
    描述:返回 01 的随机数
    实例:select rand();
    
5.  函数:ROUND(x)
    描述:四舍五入
    实例:select round(1.49999);
    
6.  函数:TRUNCATE(x,y)
    描述:返回数值 x 保留到小数点后 y 位的值
    实例:select truncate(1.49999,2);

-- 高级函数

SELECT 
        CASE [字段,值] 
            WHEN 判断条件1 
                THEN 希望的到的值1
            WHEN 判断条件2 
                THEN 希望的到的值2
            ELSE 前面条件都没有满足情况下得到的值 
        END
FROM
        table_name;

-- IF表达式

SELECT IF(1 > 0,'','') from 表名;