2019-05-05 MySQL 复习

一、字符函数

1.length 获取参数值的字节个数(UTF8中文3个字节)

SELECT LENGTH(‘join’); -- 4
SELECT LENGTH('张三丰hahaha'); -- 15

2.concat 拼接字符串

SELECT CONCAT('a','-','b'); -- a-b

3.upper、lower 大小写转换

SELECT UPPER(‘john’); -- JOHN
SELECT LOWER(‘joHn’); -- john

4.substr、substring(两个一样) 注意:索引从1开始

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

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

SELECT INSTR('杨不悔爱上了殷六侠', '殷六侠'); -- 7

6.trim 去除字符串首尾的指定字符串,默认为去除空格

SELECT TRIM('   a a a   ') -- a a a
SELECT TRIM('bb'FROM 'bbbbb   a a a   bbbbb' -- bbbbb   a a a   b

7.lpad 用指定的字符实现左填充指定长度,如果字段本身长度大于指定长度,则截取

SELECT LPAD('殷素素', 10, '*'); -- *******殷素素
SELECT LPAD('殷素素', 2, '*'); -- 殷素

8.rpad 用指定的字符实现右填充指定长度,如果字段本身长度大于指定长度,则截取

SELECT LPAD('殷素素', 10, '*'); -- 殷素素*******

9.replace 替换(全部替换)

SELECT REPLACE('杨不悔爱上了殷六侠', '殷六侠','张三'); -- 杨不悔爱上了张三

二、数学函数

1.round 四舍五入

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

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

SELECT CEIL(1.00); -- 1
SELECT CEIL(2.10); -- 3

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

SELECT FLOOR(1.00); -- 1
SELECT FLOOR(2.10); -- 2
SELECT FLOOR(-2.10); -- -3

4.truncate 截断

SELECT TRUNCATE(1.6999,1); -- 1.6

5.mod 取模、取余 a-a/b*b

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

三、日期函数

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

SELECT NOW();  -- 2019-05-05 21:12:06

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

SELECT CURDATE(); -- 2019-05-05

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

SELECT CURTIME(); -- 21:14:30

4.获取制定的部分,年、月、日、小时、分钟、秒

SELECT YEAR(NOW()); -- 2019
SELECT YEAR('1998-1-1'); -- 1998
SELECT MONTH(NOW()); -- 5
SELECT MONTHNAME(NOW()); -- May

5.str_to_date 将字符串通过指定格式转换成日期

SELECT STR_TO_DATE('5-6/2019','%m-%d/%Y'); -- 2019-05-06
日期符合

6.data_format 将日期转换成字符

SELECT DATE_FORMAT(NOW(), '%m-%d/%Y'); -- 05-05/2019
SELECT DATE_FORMAT('2019-05-06', '%m-%d/%Y'); -- 05-05/2019

四、其他函数

SELECT VERSION(); -- 版本号
SELECT DATABASE(); -- 当前数据库
SELECT USER(); -- 当前用户

五、流程控制函数

1.if 函数

SELECT IF(10>5,'大', 1); -- 大

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

SELECT CASE 20
WHEN 10 THEN 1
WHEN 20 THEN 2
WHEN 30 THEN 3
ELSE 4
END AS id1 -- 2

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

SELECT CASE
WHEN 10 > 11 THEN 1
WHEN 20 > 10 THEN 2
WHEN 30 > 10  THEN 3
ELSE 4
END AS id1 -- 2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,736评论 0 38
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,338评论 5 116
  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 5,677评论 0 8
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,946评论 0 5
  • 前言 今天介绍一些MySQL常用的实用命令,都是一些比较简单的命令。已经知道的朋友,就当是巩固吧,不知道的童鞋,可...
    jackcooper阅读 4,355评论 0 1