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 ...
随机推荐
- Windows 远程桌面鼠标光标不可见
一.问题描述 通过在云端的主机上部署 frp 服务,实现「使用Windows 远程桌面(RDP)从互联网侧访问内网的主机」.但是,使用 Windows 自带的远程桌面工具 RDP 连接到另一台计算机时 ...
- asp .net core 静态文件资源
前言 对静态资源的简单的一个概况,在<重新整理.net core 计1400篇>系列后面会深入. 正文 我们在加入中间件是这样写的: app.UseStaticFiles(); 默认是给w ...
- IMGUI
https://github.com/zwcloud/ImGui https://github.com/ocornut/imgui https://usingcpp.wordpress.com/201 ...
- Fibonacci and Counting(水题)
链接:https://ac.nowcoder.com/acm/contest/303/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- agumaster 分页方案
本文例程下载:https://files.cnblogs.com/files/xiandedanteng/agumaster20200430-1.zip 之前的分页方案有点小瑕疵,这回修正了一下. 控 ...
- MySQL互联网业务使用建议
一.基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储 ...
- House of Orange
题目附件:https://github.com/ctfs/write-ups-2016/tree/master/hitcon-ctf-2016/pwn/house-of-orange-500 查看程序 ...
- 3.AVPacket使用
1.使用注意 AVPacket需要用户通过av_packet_allc()创建好空间后.才能供给fimpeg进行获取解码前帧数据,由于解码前帧数据大小是不固定的(比如I帧数据量最大)所以ffmpeg会 ...
- 借助FreeHttp任意篡改Websocket报文(Websocket改包)
前言 作为Web应用中最常见的数据传输协议之一的Websocket,在我们日常工作中也势必会经常使用到,而在调试或测试中我们常常也有直接改变Websocket数据报文以确认其对应用的影响的需求,本文将 ...
- Redis源码笔记--服务器日志和函数可变参数处理server.c
前言 Redis源码中定义了几个和日志相关的函数,用于将不同级别的信息打印到不同的位置(日志文件或标准输出,取决于配置文件的设置),这些函数的定义位于 server.h 和server.c 文件中,包 ...