#进阶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的更多相关文章

  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. 《MySQL数据库》MySQL主从复制搭建与原理

    前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...

  2. Linux下Vim常用操作

    linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\) ...

  3. 【Go语言入门系列】(九)写这些就是为了搞懂怎么用接口

    [Go语言入门系列]前面的文章: [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? [Go语言入门系列](八)Go语言是不是面向对象语言? 1. 引入例子 如果你使用 ...

  4. 项目中使用mybatis报错:对实体 "serverTimezone" 的引用必须以 ';' 分隔符结尾。

    报错信息如下: Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### ...

  5. Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  6. cookie和session讲解

    1.cookie是什么? 保存在浏览器本地上的一组组键值对 2.session是什么? 保存在服务器上的一组组键值对 3.为什么要有cookie? HTTP是无协议状态,每次请求都是互相独立的,没有办 ...

  7. layui表单引入ueditor遇坑记

    1. 错误示例:表单容器是div标签则无法获取ueditor的内容 注:对于普通的表单元素表单容器是div也都能获取 <!DOCTYPE html> <html> <he ...

  8. jenkins iOS自动打包

    1.Jenkins配置 采用命令行下载配置Jenkins,防止产生权限问题 1)先安装brew,打开命令行,输入:/usr/bin/ruby -e "$(curl -fsSL https:/ ...

  9. 5分钟掌握企业LVM磁盘划分

    逻辑卷管理LVM是一个多才多艺的硬盘系统工具.无论在Linux或者其他类似的系统,都是非常的好用.传统分区使用固定大小分区,重新调整大小十分麻烦.但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物 ...

  10. Coneology(POJ 2932)

    原题如下: Coneology Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4937   Accepted: 1086 D ...