提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1.SQL反勾号
  • 2.MySQL 函数的概述
  • 3.数值函数
  • 4.字符串函数
  • 5.日期类函数
  • 6.流程函数
  • 7.加密函数

1.SQL反勾号

  • 也叫飘号,使用mysql数据库时,我们要给(数据库、表、索引、列和别名)取名称,有时 候取的名 称和关键字一摸一样,这样就有冲突,这个时候就可以使用反勾号解决。

  • 语法格式:

    `名称`
    
  • 代码演示

    # 1.在创建数据库是我们有时候会使用到SLQ语言的关键子来命名。
    create database delete;
    # You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
    # for the right syntax to use near 'delete' at line
    # 正确的可以添加飘号
    create database `delete`;
    

2.MySQL 函数的概述

  • MySQL 包含了大量并且丰富的函数,这些函数会对传递进来的参数进行处理,并返回一个处 理结 果。
  • 函数的分类
    • 聚集函数 (前面已经叙述过)
    • 数值函数
    • 字符串函数
    • 日期函数
    • 流程函数
    • 加密函数

3.数值函数

语法格式

# 1.基本函数
ABS(x) 返回x的绝对值
SIGN(X) 返回X的符号。正数返回1,负数返回-1,0返回0
PI() 返回圆周率的值
CEIL(x),CEILING(x) 返回大于或等于某个值的最小整数
FLOOR(x) 返回小于或等于某个值的最大整数
LEAST(e1,e2,e3…) 返回列表中的最小值
GREATEST(e1,e2,e3…) 返回列表中的最大值
MOD(x,y) 返回X除以Y后的余数
RAND() 返回0~1的随机值
ROUND(x) 返回一个对x的值进行四舍五入后,最接近于X的整数
ROUND(x,y) 返回一个对x的值进行四舍五入的值,保留到小数点后面Y位
TRUNCATE(x,y) 返回数字x截断为y位小数的结果
SQRT(x) 返回x的平方根。当X的值为负数时,返回NULL# 2.三角函数
SIN(x) 返回x的正弦值,其中,参数x为弧度值
COS(x) 返回x的余弦值,其中,参数x为弧度值
TAN(x) 返回x的正切值,其中,参数x为弧度值
COT(x) 返回x的余切值,其中,参数X为弧度值# 3.弧度函数
RADIANS(x) 将角度转化为弧度,其中,参数x为角度值
DEGREES(x) 将弧度转化为角度,其中,参数x为弧度值

代码演示

# 1.基本函数
select ABS(-250);
select SIGN(-250);
select PI();
select CEIL(3.1);
select FLOOR(3.9);
select LEAST(1,2,3,4);
select GREATEST(1,2,3,4);
select MOD(3,2);
select RAND();
select ROUND(3.666);
select ROUND(3.666,1);
select TRUNCATE(100.12,1);
select SQRT(4);# 2.三角函数
select SIN(RADIANS(30));
select COS(RADIANS(60));# 3.弧度函数
-- 获取360°的弧度
select RADIANS(360);
-- 获取2π rad的角度值
select DEGREES(2 * PI());

4.字符串函数

语法格式

CONCAT(S1,S2,......,Sn) 连接S1,S2,......,Sn为一个字符串
CONCAT_WS(s, S1,S2,......,Sn) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上s
CHAR_LENGTH(s) 返回字符串s的字符数
LENGTH(s) 返回字符串s的字节数,和字符集有关
INSERT(str, index , len, instr)
将字符串str从第index(从1开始)位置开始,len个字符长的子串替换为字符串instr
UPPER(s) 或 UCASE(s) 将字符串s的所有字母转成大写字母
LOWER(s) 或LCASE(s) 将字符串s的所有字母转成小写字母
LEFT(s,n) 返回字符串s最左边的n个字符
RIGHT(s,n) 返回字符串s最右边的n个字符
LPAD(str, len, pad) 用字符串pad对str最左边进行填充,直到str的长度为len个字符
RPAD(str ,len, pad) 用字符串pad对str最右边进行填充,直到str的长度为len个字符
LTRIM(s) 去掉字符串s左侧的空格
RTRIM(s) 去掉字符串s右侧的空格
TRIM(s) 去掉字符串s开始与结尾的空格
TRIM(BOTH s1 FROM s) 去掉字符串s开始与结尾的s1
TRIM(LEADING s1 FROM s) 去掉字符串s开始处的s1
TRIM(TRAILING s1 FROM s) 去掉字符串s结尾处的s1
REPEAT(str, n) 返回str重复n次的结果
REPLACE(str, a, b) 用字符串b替换字符串str中所有出现的字符串a
SUBSTRING(s,index,len) 返回从字符串s的index(从1开始)位置起len个字符

代码演示

SELECT CONCAT("hello","world","123");
select CONCAT_WS("--","hello","world","123");
select CHAR_LENGTH("老邱");
select LENGTH("老邱");
select INSERT("helloworld",1,5,"fuck");
select UPPER("oldqiu");
select LOWER("OLDQIU");
select LEFT("oldqiu",3);
select RIGHT("oldqiu",3);
select LPAD("hello",10,"@");
select RPAD("hello",10,"@");
select LTRIM(" hello ");
select RTRIM(" hello ");
select TRIM(" hello ");
select TRIM(BOTH "@" from "@@hello@@@");
select TRIM(LEADING "@" from "@@hello@@@");
select TRIM(TRAILING "@" from "@@hello@@@");
select REPEAT("oldqiu",2);
select REPLACE("helloworld","l","@");
select SUBSTRING("helloworld",1,5);

5.日期类函数

获取日期 时间函数

CURDATE() ,CURRENT_DATE() 返回当前日期,只包含年、月、日
CURTIME() , CURRENT_TIME() 返回当前时间,只包含时、分、秒
NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTI
ME() / LOCALTIMESTAMP()返回当前系统日期和时间

获取年份、月份、天、小时、分钟。。

YEAR(date) / MONTH(date) / DAY(date) 返回具体的日期值
HOUR(time) / MINUTE(time) / SECO
ND(time) 返回具体的时间值
MONTHNAME(date) 返回月份:January,...
DAYNAME(date) 返回星期几:MONDAY,TUESDAY.....SUN DAY
WEEKDAY(date) 返回周几,注意,周1是0,周2是1,。。。周日是6
QUARTER(date) 返回日期对应的季度,范围为1~4
WEEK(date) , WEEKOFYEAR(date) 返回一年中的第几周
DAYOFYEAR(date) 返回日期是一年中的第几天
DAYOFMONTH(date) 返回日期位于所在月份的第几天
DAYOFWEEK(date) 返回周几,注意:周日是1,周一是2,。。。周六是7

时间格式化与解析

DATE_FORMAT(date,fmt) 按照字符串fmt格式化日期date值
STR_TO_DATE(str, fmt) 按照字符串fmt对str进行解析,解析为一个日期

代码示例

# ①获取日期、时间
select CURDATE();
select CURTIME();
select NOW();
# ②获取月份、星期、星期数、天数
select YEAR(NOW());
select MONTH(NOW());
select DAY(NOW());
select HOUR(NOW());
select MINUTE(NOW());
select SECOND(NOW());
# ③日期的格式化与解析
select DATE_FORMAT(NOW(),'%Y年%m月%d日 %H时%i分%s秒');
select STR_TO_DATE('2022年01月09日 13时37分05秒','%Y年%m月%d日 %H时%i分%s秒');

6.流程函数

语法格式

# 格式一:如果value的值为TRUE,返回value1,否则返回value2
IF(value,value1,value2);# 格式二:如果value1不为NULL,返回value1,否则返回value2
IFNULL(value1, value2);# 格式三:相当于Java的if...else if...else...
CASE WHEN 条件1
THEN 结果1
WHEN 条件2
THEN 结果2
....
[ELSE resultn]
END;# 格式四:相当于Java的switch...case..
CASE expr
WHEN 常量值1 THEN 值1
WHEN 常量值1 THEN 值1
....
[ELSE 值n]
END;

代码演示

# 格式一:
select IF(1 > 0, '正确', '错误');# 格式二
select IFNULL(NULL, '为空');# 格式三:
select CASE
WHEN 1 > 0 THEN '1 > 0'
WHEN 2 > 2 THEN '2 > 2'
ELSE '缺省' END ;# 格式三:
select CASE 2
WHEN 1 THEN '是1'
WHEN 2 THEN '是2'
ELSE '是3' END;

7.加密函数

语法格式

PASSWORD(str) : 返回字符串str的加密版本,41位长的字符串。加密结果 不可逆 ,常用于用户的密码加密
MD5(str) : 返回字符串str的md5加密后的值,也是一种加密方式。若参数为NULL,则会返回NULL
SHA(str) : 从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL。 SHA加密算法比MD5更加安全 。

代码演示

select PASSWORD('root');
select MD5('root');
select SHA('root');

MySQL - 07 SQL函数的使用相关推荐

  1. MySQL数据库——SQL函数

    前言 在MySQL数据库中,为了实现更多功能有时会使用一些函数,包括系统定义函数:可供直接调用,还有用户自定义函数.根据作用范围不同分为单行函数和多行函数,单行函数作用于一行返回一个函数值,多行函数作 ...

  2. 07丨什么是SQL函数?为什么使用SQL函数可能会带来问题?

    1.学习简记 1,函数在计算机语言的使用中贯穿始终,在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作,比如求某列数据的平均值,或者求字符串的长度等. 2.从函数定义的角度出发,我们可以将函 ...

  3. mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)

    这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一: mysql_real_escape_str ...

  4. mysql必会语法_sql语法:sql必读必会(二)mysql中的函数大全

    AVG 函数 作用:AVG 函数返回数值列的平均值.NULL 值不包括在计算中 语法:SELECT AVG(列) FROM 表 求id平均值(实在没字段了,就是意思意思) id大于平均值的记录 COU ...

  5. Mysql在sql中截取时间类型字段的年月日和时间-DATE_FORMAT() 函数

    Mysql在sql中截取时间类型字段的年月日和时间 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式.我们使用 N ...

  6. mysql中常用的sql函数_Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  7. mysql的datepart函数_MySQL中的 DATE_FORMAT 与 SQL 中的 DATEPART()函数使用介绍

    本小白最近学习MySQL,因为之前是已经有学过微软大佬的SQL Server所以自认为理解的还是稍快的(滑鸡),好了说正事. 今天在写一个查询语句时,需要用到 一个日期函数:DATEPART( ) 因 ...

  8. mysql的datepart函数_MySQL中的 DATE_FORMAT 与 SQL Server中的 DATEPART()函数使用介绍

    本小白最近学习MySQL,因为之前是已经有学过微软大佬的SQL Server所以自认为理解的还是稍快的(滑鸡),好了说正事. 今天在写一个查询语句时,需要用到 一个日期函数:DATEPART( ) 因 ...

  9. MySQL数据库(二):常用SQL函数(处理不同类型数据转换场景)

    目录 一.常用sql函数 1.concat():字符串拼接 2.ifnull(str1,str2):若str1为null,返回str2;否则,返回str1; 4.特别提示:+号与concat() 5. ...

最新文章

  1. java_IO流之 NIO
  2. Linux硬盘检测命令smartctl
  3. DC中的一些命令随笔
  4. linux p 参数,tar的-p参数解决方案
  5. html5实现微信支付宝接口,支付宝H5开放文档
  6. excel pandas 空格_pandas 实现 Excel 常见操作 (1)
  7. 基于python英文文件名批量翻译并重命名
  8. 光子晶体介质柱的讨论
  9. 三个Python自动化测试高效工具的使用总结
  10. 网页二维码生成器纯js代码带logo图纯前端合成
  11. python初中生有必要学吗_作为初中生该如何学编程?
  12. AUTOCAD二次开发-----删除一个图层里面的所有对象
  13. Traffic shaping 一个事半功倍的程序化”噪音“解决方案
  14. 一本入门深度学习的好书
  15. 关于2020的个人总结
  16. python时分秒_python时间时分秒与秒数的互相转换
  17. 如何提升论文写作能力?
  18. b ascll 对照表
  19. MATLAB中ode45()和Runge-Kutta算法(4阶)的比较
  20. 哪些你不知道的神回复?

热门文章

  1. 批处理调用cacls修改文件权限
  2. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)----本人亲测可用
  3. C#一个完整的Log4net使用实例
  4. 软件设计师——题目以及解析记录(单选)
  5. Charm-crypto的安装与使用
  6. 【运维安全】Linux下rootkit把木马程序的使用
  7. 敏捷无敌之兵不厌诈(11)
  8. 深入理解深度学习——切面距离(Tangent Distance)、正切传播(Tangent Prop)和流形正切分类器
  9. SVD奇异值分解(标题重复率过高)
  10. 根据某字段进行对象数组去重--方法之一