美文网首页
MySQL常用函数

MySQL常用函数

作者: 李小二的倔强 | 来源:发表于2024-04-13 13:05 被阅读0次

    一、数字函数

    1).函数的写法:
        1).测试函数时:select 函数名(常量值);
                   例如:abs(x):求x的绝对值
                select abs(-1);
        2).应用通常都是计算某个字段:select 函数名(字段名) from 表名;
                   例如:abx(字段名):求这个字段的所有值的绝对值
                select abs(price) from product;
    2).常用数字函数:
        1).abs(x/字段名):求x/字段的绝对值;
            示例:SELECT pname,ABS(price) FROM product;
        2).ceil(x/字段名):将"x/字段"的值向上取整
            示例:SELECT CEIL(3.4);
                  SELECT CEIL(3.8);
                  SELECT CEIL(price) FROM product;
    
        3).floor(x/字段名):将"x/字段"的值向下取整
            示例:SELECT FLOOR(3.4);
                  SELECT FLOOR(3.8);
                  SELECT FLOOR(price) FROM product;
        4).rand():产生一个0-->1的随机数;
            示例:SELECT RAND();   #每次运行都不一样
    
        5).rand(x):根据x的值,经过固定的算法产生一个随机数。x的值固定,每次生成的随机数是一样的。
            示例:SELECT RAND(12); #种子相同时,每次运行会得到相同的随机数
                  SELECT RAND(price) FROM product;#使用某字段的值做种子
        6).sign(x/字段名):判断"x/字段"的值是正数、0、负数。"x/字段"是正数:返回1
                                                           "x/字段"的值是0:返回0
                                   "x/字段"的值是负数:返回-1
            示例:
                SELECT SIGN(-12); #-1
                SELECT SIGN(0);   #0
                SELECT SIGN(24);  #1
    
                SELECT SIGN(price) FROM product;
    

    二、字符串函数

    1).length(x/字段名):求"x/字段"的值的长度(注意:如果是U8编码,每个中文是3个长度)
        示例:
            SELECT LENGTH('abcdefg');
            SELECT LENGTH(pname) FROM product;
    2).concat(x1/字段1,x2/字段2,...,xn/字段n):将几个参数的值进行"字符串拼接":
        示例:
            SELECT CONCAT(pname,':',category_id,':',price) FROM product;
    3).concat_ws(值/字段,x1/字段1,x2/字段2,...,xn/字段n):使用第一个参数做"分隔符"拼接后续的其它字符串/字段的值。
        示例:
            SELECT CONCAT_WS(':','aaa','bbb','ccc');
            SELECT CONCAT_WS(':',pname,category_id,price) FROM product;
    4).insert(s1,x,len,s2) : 将字符串s2替换s1的x位置开始长度为len的字符串
        示例:
            SELECT INSERT('jfkdja',1,12,'abc');
            SELECT INSERT(pname,1,1,'*') FROM product;
    5).left(s,n):返回字符串s的前n个字符
        示例:
            SELECT LEFT(pname,1) FROM product;
    6).lpad(s1,len,s2):字符串s2来填充s1的开始处,使字符串长度达到len
        示例:
            SELECT LPAD('abc',0,'xx') -- xxabc
    7).trim(s):去掉s两端的空格。
        示例:
            去掉字符串s开始和结尾处的空格
    

    三、日期和时间函数

    1).获取当前日期
        示例:
            INSERT INTO product VALUES(NULL,'宝马',28,NULL,CURDATE());
    2).获取当前系统时间
        示例:
            SELECT CURTIME();
    3).获取当前日期和时间
        示例:
            SELECT NOW();
    4).获取日期中的月份值
        示例:
            SELECT * FROM product WHERE MONTH(prodate) = 9;
    5).获取星期值
        示例:
            SELECT WEEKDAY(NOW());//0-星期一,1-星期二...
    6).将"天"加上指定的值
        示例:
            SELECT ADDDATE('2017-10-01',-31)
    7).格式化日期
        示例:
            SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日 %h:%i:%s')
    

    四、条件判断函数

    1).if()函数:
        示例:
            SELECT IF(prodate > '2017-10-01' ,'早期','晚期') FROM product;
    2).填充NULL:
        示例:
            SELECT IFNULL(category_id,'未填') FROM product;#如果category_id字段为null,使用第二个参数填充;否则显示category_id的原值;
    3).多重判断:case语句
        示例:#1000(不含)以下的打印:便宜;1000--3000(包含)打印:价格合理;高于3000元打印:贵
                SELECT pname,CASE WHEN price < 1000 THEN '便宜'
                      WHEN price >= 1000 AND price <= 3000 THEN '价格合理'
                      WHEN price > 3000 THEN '贵'
                      ELSE '错误的价格'
                     END AS '价格' ,price FROM product;
    4).判断一个表达式的多个可能的值的结果:
        示例:
            SELECT pname,CASE price 
                    WHEN 1000 THEN '1千元'
                    WHEN 2000 THEN '2千元'
                    WHEN 3000 THEN '3千元'
                    WHEN 4000 THEN '4千元'
                    WHEN 5000 THEN '5千元'
                    ELSE '非整千价格'
                     END AS '判断',price FROM product;
    

    五、系统信息函数

    1).获取系统的版本号
        示例:
            SELECT VERSION();
    
    2).返回服务器的连接ID
        示例:
            SELECT CONNECTION_ID();
    
    3).返回当前数据库名
        示例:
            SELECT DATABASE();
    4).返回当前用户
        示例:
            SELECT USER();
    

    六、加密函数

    1).password(str)函数:
        示例:
            SELECT PASSWORD(pname) FROM product;
    2).MD5(str)函数:
        示例:
            SELECT MD5(pname) FROM product;

    相关文章

      网友评论

          本文标题:MySQL常用函数

          本文链接:https://www.haomeiwen.com/subject/shxlxjtx.html