zoukankan      html  css  js  c++  java
  • MySQL(尚硅谷)笔记3

    一、字符函数

    1.length 获取参数值的字节个数(utf-8一个汉字代表3个字节,gbk为2个字节)

    SELECT LENGTH('john');
    SELECT LENGTH('张三丰hahaha');

    2.concat 拼接字符串

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

    3.upper、lower

    SELECT UPPER('john');
    SELECT LOWER('joHn');

    4.substr、substring
    注意:索引从1开始

    # 截取从指定索引处后面所有字符
    SELECT SUBSTR('李莫愁爱上了陆展元',7)  out_put;
    # 截取从指定索引处指定字符长度的字符
    SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;

    5.instr 返回子串第一次出现的索引,如果找不到返回0

    SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷八侠') AS out_put;

    6.trim

    SELECT LENGTH(TRIM('    张翠山    ')) AS out_put;

    7.lpad 用指定的字符实现左填充指定长度

    SELECT LPAD('殷素素',2,'*') AS out_put;

    8.rpad 用指定的字符实现右填充指定长度

    SELECT RPAD('殷素素',12,'ab') AS out_put;

    9.replace 替换

    SELECT REPLACE('周芷若周芷若周芷若周芷若张无忌爱上了周芷若','周芷若','赵敏') AS out_put;

    二、数学函数

    round 四舍五入

    SELECT ROUND(-1.55);
    SELECT ROUND(1.567,2);

    ceil 向上取整,返回>=该参数的最小整数

    SELECT CEIL(-1.02);

    floor 向下取整,返回<=该参数的最大整数

    SELECT FLOOR(-9.99);

    truncate 截断

    SELECT TRUNCATE(1.69999,1);

    mod取余

    SELECT MOD(10,-3);
    SELECT 10%3;

    三、日期函数

    now 返回当前系统日期+时间

    SELECT NOW();

    curdate 返回当前系统日期,不包含时间

    SELECT CURDATE();

    curtime 返回当前时间,不包含日期

    SELECT CURTIME();

    可以获取指定的部分,年、月、日、小时、分钟、秒

    SELECT YEAR(NOW());
    SELECT YEAR('1998-1-1');
    SELECT  YEAR(hiredate)FROM employees;
    SELECT MONTH(NOW());
    SELECT MONTHNAME(NOW());

    str_to_date 将字符通过指定的格式转换成日期

    SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;

    查询入职日期为1992–4-3的员工信息

    SELECT * FROM employees WHERE hiredate = '1992-4-3';
    SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-3 1992','%c-%d %Y');

    date_format 将日期转换成字符

    SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;

    查询有奖金的员工名和入职日期(xx月/xx日 xx年)

    SELECT last_name,DATE_FORMAT(hiredate,'%m月/%d日 %y年') 入职日期
    FROM employees
    WHERE commission_pct IS NOT NULL;

    四、其他函数

    SELECT VERSION();
    SELECT DATABASE();
    SELECT USER();

    五、流程控制函数

    ** 1.if函数: if else 的效果**

    SELECT IF(10<5,'大','小');
    SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,嘻嘻') 备注
    FROM employees;

    2.case函数的使用一: switch case 的效果

    case 要判断的字段或表达式
    when 常量1 then 要显示的值1或语句1;
    when 常量2 then 要显示的值2或语句2;
    ...
    else 要显示的值n或语句n;
    end
    SELECT salary 原始工资,department_id,
    CASE department_id
    WHEN 30 THEN salary*1.1
    WHEN 40 THEN salary*1.2
    WHEN 50 THEN salary*1.3
    ELSE salary
    END AS 新工资
    FROM employees;

    3.case 函数的使用二:类似于 多重if

    case 
    when 条件1 then 要显示的值1或语句1
    when 条件2 then 要显示的值2或语句2
    。。。
    else 要显示的值n或语句n
    end
    SELECT salary,
    CASE 
    WHEN salary>20000 THEN 'A'
    WHEN salary>15000 THEN 'B'
    WHEN salary>10000 THEN 'C'
    ELSE 'D'
    END AS 工资级别
    FROM employees;
    别废话,拿你代码给我看。
  • 相关阅读:
    02安卓用户界面优化之(三)如何使用菜单
    07-业务敏捷:帮助DevOps快速落地的源动力
    转型之路:企业实施DevOps的常见路径和问题
    价值流分析:关于DevOps转型,我们应该从何处入手
    DevOps的衡量:你是否找到了DevOps的实施路线图
    DevOps的实施:到底是工具先行还是文化先行
    DevOps的价值:数字化转型时代,DevOps是必选项
    DevOps的“定义”:DevOps究竟要解决什么问题
    Jenkins产品经理是如何设计产品的
    关于DevOps组织和文化的那些趣事儿.
  • 原文地址:https://www.cnblogs.com/lvxueyang/p/13707392.html
Copyright © 2011-2022 走看看