1. #进阶4:常见函数(单行函数)
  2. /*
  3. 将一组逻辑语句封装在方法体中,对外暴露方法名
  4. 语法:
  5. SELECT 函数名() 【FROM 表名】
  6.  
  7. 分类:
  8. 1、单行函数:concat,length,ifnull等等
  9. 2、分组函数:聚合函数,做统计使用
  10.  
  11. */
  12.  
  13. USE myemployees;
  14.  
  15. #1、单行函数
  16. #1.1、字符函数
  17. # length()获取参数值的字节个数
  18. SELECT Length('john');
  19.  
  20. #concat()拼接
  21. SELECT Concat(last_name, ' ', first_name)
  22. FROM employees;
  23.  
  24. #upper, lower
  25. SELECT UPPER('john');
  26. SELECT LOWER('JOHN');
  27.  
  28. #substr, substring
  29. #索引从1开始
  30. SELECT Substr('what a lovely dog!', 6, 8) AS out_put; # 从索引6开始的8个字符
  31.  
  32. #instr
  33. #子串初始位置在大串中第一次出现的索引
  34. SELECT Instr('what a lovely dog!', 'dog') AS out_put;
  35.  
  36. #trim
  37. #去空格/特殊字符
  38. SELECT Length(Trim(' aaa ')) AS out_put;
  39. SELECT Trim('a' FROM 'aaaSSSaaa') AS out_put;
  40.  
  41. #lpad, rpad
  42. #左/右边填充,用指定字符填充到指定长度
  43. SELECT Lpad('aaaa', 10, '*') AS out_put;
  44.  
  45. #replace
  46. #替换全部指定字符
  47. SELECT Replace('cat dog dog', 'dog', 'cat');
  48.  
  49. #1.2、数学函数
  50. #round
  51. #四舍五入
  52. SELECT Round(-1.5);
  53. SELECT Round(-1.4, 2); #小数点后保留2位
  54.  
  55. #ceil, floor
  56. #向上/下取整
  57. SELECT Ceil(1.20);
  58. SELECT Ceil(-1.2);
  59. SELECT Floor(-1.2);
  60.  
  61. #truncate
  62. #截断,保留指定的位数
  63. SELECT Truncate(1.6999, 2);
  64.  
  65. #mod
  66. #取余: a - (a/b)*b
  67. SELECT Mod(-10, 3);
  68.  
  69. #1.3、日期函数
  70. #now
  71. #当前系统日期+时间
  72. SELECT Now();
  73.  
  74. #curdate, curtime
  75. #当前系统日期/时间
  76. SELECT Curdate();
  77. SELECT Curtime();
  78. #获取指定的部分
  79. SELECT Year(Now());
  80. SELECT Month(Now());
  81.  
  82. #str_to_date
  83. #将字符转换为指定格式的日期
  84. SELECT Str_to_date('07-02-2020', '%m-%d-%Y');
  85. #案例1:查询1992-3-2入职的员工信息
  86. SELECT *
  87. FROM employees
  88. WHERE Date(hiredate) = '1992-04-03';
  89.  
  90. SELECT *
  91. FROM employees
  92. WHERE hiredate = str_to_date('4-3 1992', '%c-%d %Y');
  93.  
  94. #date_format
  95. #将日期转换为字符
  96. SELECT date_format(Now(), '%Y年%m月%d日') AS out_put;
  97.  
  98. #1.4、其他函数
  99. SELECT VERSION();
  100. SELECT DATABASE();
  101. SELECT USER();
  102.  
  103. #1.5、流程控制函数
  104. #if函数,实现if-else的效果
  105. SELECT IF(10>5, '大', '小');
  106.  
  107. #查询员工是否有奖金,有就列出来
  108. SELECT last_name, commission_pct, IF(commission_pct IS NULL, 'no commission', commission_pct)
  109. FROM employees;
  110.  
  111. #case函数
  112. /*查询员工的工资,要求:
  113. 部门号=30,显示的工资为1.1倍
  114. 部门号=40,显示的工资为1.2倍
  115. 部门号=50,显示的工资为1.3倍
  116. 其他部门显示原工资
  117. */
  118. SELECT salary AS 原始工资, department_id,
  119. CASE department_id
  120. WHEN 30 THEN salary*1.1
  121. WHEN 40 THEN salary*1.2
  122. WHEN 50 THEN salary*1.3
  123. ELSE salary
  124. END AS 新工资
  125. FROM employees;
  126.  
  127. #查询员工的工资情况:
  128. /*如果工资>20000,A级别
  129. 如果工资>15000,B级别
  130. 否则,C级别
  131. */
  132. SELECT salary,
  133. CASE
  134. WHEN salary > 20000 THEN 'A'
  135. WHEN salary > 15000 THEN 'B'
  136. ELSE 'C'
  137. END AS "rank"
  138. FROM employees;

  

mysql-4-functions的更多相关文章

  1. MySQL Information Functions

    Table 12.18 Information Functions Name Description BENCHMARK() Repeatedly execute an expression CHAR ...

  2. Mysql String Functions

    SUBSTRING_INDEX(str,delim,count) 按标识符截取指定长度的字符串 mysql); -> 'www.mysql' mysql); -> 'mysql.com' ...

  3. MySQL操作符

    简要介绍MySQL操作符 常用: 算术运算符.比较操作符.逻辑操作符.位运算符-- 一.算术运算符 +:加 -:减 *:乘 /:除,返回商 %,mod():除,返回余数 mysql> %,mod ...

  4. MySQL开发总结(有点长..耐心看)

    一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...

  5. mysql开发总结

    一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...

  6. [mysql] mysql如何实现更新一条记录中某个字段值的一部分呢?

    场景:在平常我们使用word文档等等office办公软件时,我们常会使用搜索->替换的功能. mysql: 在mysql 中有时候,我们也需要这样子的实现: 实现 SQL 语句: update ...

  7. zabbix表结构

    zabbix数据库表结构的重要性 想理解zabbix的前端代码.做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了. 我们这里采用的zabbix1.8.mysql,所以简单的说下我们mysq ...

  8. Zabbix的数据表结构

    看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX, ...

  9. 【Zabbix】 Zabbix表结构说明【转载】

    本文转自[https://www.cnblogs.com/shhnwangjian/p/5484352.html] 参考文[https://www.cnblogs.com/learningJAVA/p ...

  10. zabbix3.4.7表结构

    zabbix数据库表结构的重要性 想理解zabbix的前端代码.做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

随机推荐

  1. .net技术栈转型心路历程分享

    一.概要 本篇文章针对的是,长年写客户端(WPF/winfrom/delphi)的小伙伴想转后台写数据服务(asp.net mvc webapi , socket)或者想转其它技术,却又不知道改如何下 ...

  2. JS 替换日期的横杠为斜杠

    例如1: <script type="text/javascript">      var dt = "2010-01-05";           ...

  3. Chrome开发者工具调试详解

    chrome开发者工具最常用的四个功能模块:元素(ELements).控制台(Console).源代码(Sources),网络(Network). 元素(Elements):用于查看或修改HTML元素 ...

  4. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  5. Fitness - 05.11

    倒计时234天 从本周开始改变运动模式 跑步换到每周二.四.六进行. 每周一.三.五增加瑜伽的练习,周日山地车骑行~~~~ 久违的瑜伽课,瑜伽老师居然是男的,第一次看到这么柔软的男生~! 平时感觉不到 ...

  6. js map数据结构

    Map 对象保存键值对,并且能够记住键的原始插入顺序.任何值(对象或者原始值) 都可以作为一个键或一个值.  map对象常用于保存键值对,它的键是任意数据类型,常用于建立数据的映射关系 和对象的区别: ...

  7. 返回boolean的mybatis查询

    注意:返回数量为0时函数返回值为false,返回数量为非零值时为true. Java函数: boolean hasSameServiceCode(@Param("oldDepotCd&quo ...

  8. python - 模块调用

    基础 调用模块常见的两种方法 import [模块名] from [模块名] import [属性/方法] 进阶用法 调用父级目录下模块 背景介绍 目录new2(b2.py)调用上级目录new1(b1 ...

  9. Linux:apache安装

    1.查询是否已安装 rpm -qa httpd 如果已安装,先卸载 发现有依赖包,先把依赖卸载 或者加上--nodeps参数,不考虑依赖,直接卸载   rpm -e --nodeps httpd-2. ...

  10. Eclipse安装Mat工具分析教程

    一.关于Mat MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分析工 ...