mysql-4-functions
- #进阶4:常见函数(单行函数)
- /*
- 将一组逻辑语句封装在方法体中,对外暴露方法名
- 语法:
- SELECT 函数名() 【FROM 表名】
- 分类:
- 1、单行函数:concat,length,ifnull等等
- 2、分组函数:聚合函数,做统计使用
- */
- USE myemployees;
- #1、单行函数
- #1.1、字符函数
- # length()获取参数值的字节个数
- SELECT Length('john');
- #concat()拼接
- SELECT Concat(last_name, ' ', first_name)
- FROM employees;
- #upper, lower
- SELECT UPPER('john');
- SELECT LOWER('JOHN');
- #substr, substring
- #索引从1开始
- SELECT Substr('what a lovely dog!', 6, 8) AS out_put; # 从索引6开始的8个字符
- #instr
- #子串初始位置在大串中第一次出现的索引
- SELECT Instr('what a lovely dog!', 'dog') AS out_put;
- #trim
- #去空格/特殊字符
- SELECT Length(Trim(' aaa ')) AS out_put;
- SELECT Trim('a' FROM 'aaaSSSaaa') AS out_put;
- #lpad, rpad
- #左/右边填充,用指定字符填充到指定长度
- SELECT Lpad('aaaa', 10, '*') AS out_put;
- #replace
- #替换全部指定字符
- SELECT Replace('cat dog dog', 'dog', 'cat');
- #1.2、数学函数
- #round
- #四舍五入
- SELECT Round(-1.5);
- SELECT Round(-1.4, 2); #小数点后保留2位
- #ceil, floor
- #向上/下取整
- SELECT Ceil(1.20);
- SELECT Ceil(-1.2);
- SELECT Floor(-1.2);
- #truncate
- #截断,保留指定的位数
- SELECT Truncate(1.6999, 2);
- #mod
- #取余: a - (a/b)*b
- SELECT Mod(-10, 3);
- #1.3、日期函数
- #now
- #当前系统日期+时间
- SELECT Now();
- #curdate, curtime
- #当前系统日期/时间
- SELECT Curdate();
- SELECT Curtime();
- #获取指定的部分
- SELECT Year(Now());
- SELECT Month(Now());
- #str_to_date
- #将字符转换为指定格式的日期
- SELECT Str_to_date('07-02-2020', '%m-%d-%Y');
- #案例1:查询1992-3-2入职的员工信息
- SELECT *
- FROM employees
- WHERE Date(hiredate) = '1992-04-03';
- 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;
- #1.4、其他函数
- SELECT VERSION();
- SELECT DATABASE();
- SELECT USER();
- #1.5、流程控制函数
- #if函数,实现if-else的效果
- SELECT IF(10>5, '大', '小');
- #查询员工是否有奖金,有就列出来
- SELECT last_name, commission_pct, IF(commission_pct IS NULL, 'no commission', commission_pct)
- FROM employees;
- #case函数
- /*查询员工的工资,要求:
- 部门号=30,显示的工资为1.1倍
- 部门号=40,显示的工资为1.2倍
- 部门号=50,显示的工资为1.3倍
- 其他部门显示原工资
- */
- SELECT salary AS 原始工资, 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;
- #查询员工的工资情况:
- /*如果工资>20000,A级别
- 如果工资>15000,B级别
- 否则,C级别
- */
- SELECT salary,
- CASE
- WHEN salary > 20000 THEN 'A'
- WHEN salary > 15000 THEN 'B'
- ELSE 'C'
- END AS "rank"
- FROM employees;
mysql-4-functions的更多相关文章
- MySQL Information Functions
Table 12.18 Information Functions Name Description BENCHMARK() Repeatedly execute an expression CHAR ...
- Mysql String Functions
SUBSTRING_INDEX(str,delim,count) 按标识符截取指定长度的字符串 mysql); -> 'www.mysql' mysql); -> 'mysql.com' ...
- MySQL操作符
简要介绍MySQL操作符 常用: 算术运算符.比较操作符.逻辑操作符.位运算符-- 一.算术运算符 +:加 -:减 *:乘 /:除,返回商 %,mod():除,返回余数 mysql> %,mod ...
- MySQL开发总结(有点长..耐心看)
一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...
- mysql开发总结
一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...
- [mysql] mysql如何实现更新一条记录中某个字段值的一部分呢?
场景:在平常我们使用word文档等等office办公软件时,我们常会使用搜索->替换的功能. mysql: 在mysql 中有时候,我们也需要这样子的实现: 实现 SQL 语句: update ...
- zabbix表结构
zabbix数据库表结构的重要性 想理解zabbix的前端代码.做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了. 我们这里采用的zabbix1.8.mysql,所以简单的说下我们mysq ...
- Zabbix的数据表结构
看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX, ...
- 【Zabbix】 Zabbix表结构说明【转载】
本文转自[https://www.cnblogs.com/shhnwangjian/p/5484352.html] 参考文[https://www.cnblogs.com/learningJAVA/p ...
- zabbix3.4.7表结构
zabbix数据库表结构的重要性 想理解zabbix的前端代码.做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
随机推荐
- .net技术栈转型心路历程分享
一.概要 本篇文章针对的是,长年写客户端(WPF/winfrom/delphi)的小伙伴想转后台写数据服务(asp.net mvc webapi , socket)或者想转其它技术,却又不知道改如何下 ...
- JS 替换日期的横杠为斜杠
例如1: <script type="text/javascript"> var dt = "2010-01-05"; ...
- Chrome开发者工具调试详解
chrome开发者工具最常用的四个功能模块:元素(ELements).控制台(Console).源代码(Sources),网络(Network). 元素(Elements):用于查看或修改HTML元素 ...
- AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...
- Fitness - 05.11
倒计时234天 从本周开始改变运动模式 跑步换到每周二.四.六进行. 每周一.三.五增加瑜伽的练习,周日山地车骑行~~~~ 久违的瑜伽课,瑜伽老师居然是男的,第一次看到这么柔软的男生~! 平时感觉不到 ...
- js map数据结构
Map 对象保存键值对,并且能够记住键的原始插入顺序.任何值(对象或者原始值) 都可以作为一个键或一个值. map对象常用于保存键值对,它的键是任意数据类型,常用于建立数据的映射关系 和对象的区别: ...
- 返回boolean的mybatis查询
注意:返回数量为0时函数返回值为false,返回数量为非零值时为true. Java函数: boolean hasSameServiceCode(@Param("oldDepotCd&quo ...
- python - 模块调用
基础 调用模块常见的两种方法 import [模块名] from [模块名] import [属性/方法] 进阶用法 调用父级目录下模块 背景介绍 目录new2(b2.py)调用上级目录new1(b1 ...
- Linux:apache安装
1.查询是否已安装 rpm -qa httpd 如果已安装,先卸载 发现有依赖包,先把依赖卸载 或者加上--nodeps参数,不考虑依赖,直接卸载 rpm -e --nodeps httpd-2. ...
- Eclipse安装Mat工具分析教程
一.关于Mat MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分析工 ...