暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL常见函数之——单行函数

brevity分享 2021-08-23
515

MySQL常见的函数分为单行函数和分组函数,分组函数又称为统计函数。单行函数包含字符函数、数学函数、日期函数、流程控制函数等。下面根据一些例子介绍这些单行函数。

字符函数LENGTH(),获取参数值得字节的个数:

    SELECT LENGTH('Tom');  SELECT LENGTH('李四');

    字符函数CONCAT(),字符拼接:

      SELECT CONCAT(last_name,'_',first_name) AS 姓名 FROM employees;

      字符函数UPPER()小写转大写,LOWER()大写转小写:

        SELECT CONCAT(UPPER(last_name),LOWER(first_name)) 姓名 FROM employees;

        字符函数SUBSTR()字符截取,索引从1开始:

          SELECT SUBSTR('TimiandTom',8) out_put;  
          SELECT SUBSTR('TimiandTom',1,4) out_put;
          SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'#',LOWER(SUBSTR(last_name,2))) res FROM employees;

          字符函数INSTR()返回子串第一次出现的索引,如果找不到,返回0:

            SELECT INSTR('JerryVSTom','Tom') AS res;

            字符函数TRIM()去除前后空格或前后指定字符:

              SELECT LENGTH(TRIM('   Tom   ')) AS res;
              SELECT TRIM('w' FROM 'wwwwwwwwTomwwwwwww') AS put;

              字符函数LPAD()用指定字符实现左填充指定长度,RPAD()同理:

                SELECT LPAD('Jerry',10,'$') AS put;
                SELECT LPAD('Jerry',3,'$'AS put;
                SELECT RPAD('Jerry',3,'$') AS put;
                SELECT RPAD('Jerry',8,'$'AS put;

                字符函数REPLACE(),字符替换:

                  SELECT REPLACE('JackandJohnandJackandTom','Jack','Jerry') AS res;

                  数学函数ROUND(),四舍五入:

                    SELECT ROUND(1.4);  SELECT ROUND(-1.6);
                    SELECT ROUND(1.345,2);

                    数学函数CEIL(),向上取整,返回大于等于该参数的最小整数:

                      SELECT CEIL(1.09);  SELECT CEIL(-1.08);

                      数学函数floor(),向下取整,返回小于等于该参数的最大整数

                        SELECT FLOOR(6.78);   SELECT FLOOR(-6.98);

                        数学函数TRUNCATE(),根据位数截断:

                          SELECT TRUNCATE(1.56,1);

                          数学函数MOD(),取余数:

                            SELECT MOD(13,3);   SELECT MOD(-13,3);

                            日期函数NOW(),返回当前日期与时间:

                              SELECT NOW();

                              日期函数CURDATE(),只返回当前日期:

                                SELECT CURDATE();

                                日期函数CURTIME(),只返回当前时间:

                                  SELECT CURTIME();

                                  日期函数YEAR()、MONTH()等返回年、月等,以此类推,其中MONTHNAME()函数返回的是月份对应的英文单词:

                                    SELECT YEAR(hiredate) FROM employees;
                                    SELECT MONTH(hiredate) FROM employees;
                                    SELECT MONTHNAME(hiredate) FROM employees;

                                    日期函数STR_TO_DATE(),将日期格式的字符串转换成指定格式的日期;DATE_FORMAT(),将日期转换为字符串:

                                      SELECT STR_TO_DATE('12-5-2020','%m-%d-%Y'AS 日期;
                                      SELECT DATE_FORMAT('2020/5/20','%Y年%m月%d日') AS 日期;
                                      其中的格式符如下列表:

                                      流程控制函数IF()类似于Java的三元运算、CASE 函数类似于Java的switch  case结构:

                                        SELECT last_name,commission_pct,IF(commission_pct IS NOT NULL,' good','bad') AS KPI FROM employees;
                                        SELECT last_name,department_id,salary,CASE department_id WHEN 50 THEN salary * 1.2 WHEN 60 THEN salary * 1.5 WHEN 100 THEN salary * 2 ELSE salary END AS KPI_Salary FROM employees;
                                        SELECT last_name,salary,CASE WHEN salary > 20000 THEN 'A' WHEN salary >15000 THEN 'B' WHEN salary >10000 THEN 'C' ELSE 'Other' END AS salary_Level FROM employees;
                                        文章转载自brevity分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                        评论