MySQL--day6--单行函数

请添加图片描述
(以下内容全部来自上述课程)
在这里插入图片描述

单行函数

1. 内置函数及分类

  • 单行函数
  • 聚合函数(或分组函数)
    请添加图片描述

1.1 单行函数特点

  • 操作数据对象
  • 接受参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以嵌套
  • 参数可以是一列或一个值

2. 数值函数

2.1 基本函数

请添加图片描述

#1.数值函数
# 基本的操作
# 	  绝对值:123     32	 正负号:-1    1     3.14...    33          -43           32
SELECT ABS (-123),ABS (32),SIGN (-23),SIGN (43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
#    -44        取余:2     2       2
FLOOR(-43.23),MOD(12,5),12 MOD 5,12 % 5 
FROM DUAL;# 取随机数:()内因子相同,随机数也相同
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1) 
FROM DUAL;#四舍五入,截断操作
#           124             123              123.5            123.46              120              200
SELECT ROUND(123.556),ROUND(123.456,0),ROUND(123.456,1),ROUND(123.456,2), ROUND(123.456,-1),ROUND(153.456,-2) 
FROM DUAL;#                123                 123.4              120
SELECT TRUNCATE(123.456,0),TRUNCATE(123.496,1),TRUNCATE(129.45,-1) 
FROM DUAL;#单行函数可以嵌套
#                  123
SELECT TRUNCATE(ROUND(123.456,2),0) 
FROM DUAL;

2.2 角度与弧度的转换

请添加图片描述

#角度与弧度的互换
SELECT RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90), 
DEGREES(2*PI()),DEGREES(RADIANS(60)) 
FROM DUAL;

2.3 三角函数

请添加图片描述

2.4 指数与对数

请添加图片描述

# 指数与对数
#       32          16        7.389....
select pow(2,5),power(2,4),exp(2)
from dual;#          2 			2	    	1		2
select ln(exp(2)),log(exp(2)),log10(10),log2(4),
from dual;

2.5 进制间的转换

请添加图片描述

#进制间的转换
SELECT BIN(10),HEX(10),OCT(10),CONV(10),2,8) 
FROM DUAL;

3.字符串函数

请添加图片描述

# 2.字符串函数
#          65                   5                  2
SELECT ASCII('Abcdfsf'),CHAR_LENGTH('hello'),CHAR_LENGTH('我们'), 
#       5             6
LENGTH('hello'),LENGTH('我们') 
FROM DUAL;# xxx worked for yyy
SELECT CONCAT (emp.last name,' worked for',mgr.last name)"details" 
FROM employees emp JOIN employees mgr
WHERE emp.`manager id` = mgr.employee id;#字符串的索引是从1开始的!
SELECT INSERT('helloworld',2,3,'aaaaa'),REPLACE('hello','lol','mmm')
FROM DUAL;SELECT UPPER('HelLo'),LOWER('HelLo') 
FROM DUAL;SELECT last name,salary 
FROM employees
WHERE LOWER(last_name)= 'King';SELECT LEFT('hello',2),RIGHT('hello',3),RIGHT('hello',13) 
FROM DUAL;# LPAD:实现右对齐效果
# RPAD:实现左对齐效果
SELECT employee_id,last_name,LPAD(salary,10,'') 
FROM employees;

请添加图片描述
请添加图片描述

4. 日期和时间函数

4.1 获取日期、时间

请添加图片描述

4.2 日期与时间戳的转换

请添加图片描述

4.3 获取月份、星期、星期数、天数等函数

请添加图片描述

4.4 日期的操作函数

请添加图片描述
请添加图片描述
请添加图片描述

SELECT EXTRACT(MINUTE FROM NOW()),EXTRACT( WEEK FROM NOW()),
EXTRACT( QUARTER FROM NOW()),EXTRACT(MINUTE_SECOND FROM NOW()) 
FROM DUAL;

4.5 时间和秒钟转换的函数

请添加图片描述

4.6 计算日期和时间的函数

  • 第一组:
    请添加图片描述
    请添加图片描述
SELECT DATE_ADD(NOW()INTERVAL 1 DAY) AS col1,
DATE_ADD('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col2,
ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,
DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4, 
DATE_ADD(NOW()INTERVAL -1 YEAR) AS col5,#可以是负数
DATE_ADD(NOW()INTERVAL '1_1' YEAR_MONTH) AS col6 #需要单引号
FROM DUAL;SELECT DATE_SUB('2021-01-21',INTERVAL 31 DAY) AS col1, 
SUBDATE('2021-01-21',INTERVAL 31 DAY) AS col2,
DATE_SUB('2021-01-2102:01:01',INTERVAL '1 1'DAY_HOUR) AS col3 
FROM DUAL;
  • 第二组:
    请添加图片描述
SELECT ADDTIME(NOW( ),20),SUBTIME(NOW(),30),SUBTIME(NOW( ),'1:1:3'),DATEDIFF(NOW(),'2021-10-01'), 
TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'),
LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),12),MAKETIME(10,21,23),PERIOD_ADD(20200101010101,10) 
FROM DUAL;

4.7 日期的格式化与解析

请添加图片描述
请添加图片描述
请添加图片描述

#3.7 日期的格式化与解析
#格式化:日期--->字符串
# 解析:	字符串 ---->日期	
#此时我们谈的是日期的显式格式化和解析#之前,我们接触过隐式的格式化或解析 
SELECT *
FROM	employees	
WHERE hire date= '1993-01-13';#格式化:
SELECT	DATE_FORMAT (CURDATE()'%Y-%M-%D'),	
DATE_FORMAT(NOW() ,'%Y-%m-%d'),TIME_FORMAT (CURTIME() ,'%h:%i:%S'), DATE_FORMAT(NOW()'%Y-%M-%D %h:%i:%S %W %w %T %r') 
FROM DUAL;#解析:格式化的逆过程
SELECT STR_TO_DATE('2021-0ctober-25th 11:34:42 Monday 1 23:34:42','%Y-%M-%D %h:%i:%S %W %w %T') 
FROM DUAL;

请添加图片描述

5. 控制流程函数

请添加图片描述

#4.流程控制函数
#IF (VALUE,VALUE1,VALUE2)
SELECT last_name, salary,IF(salary >= 6000,'高工资''低工资')"details" 
FROM employees;SELECT last_name,commission_pct,IF(commission_pct IS NOT NULL, commission_pct,0) "details",
salary	12 * (1+ IF(commission_pct IS NOT NULL,commission_pct,0)) "annual_sal"	
FROM employees;#4.2 IFNULL(VALUE1,VALUE2):看做是IF(VALUE,VALUE1,VALUE2)的特殊情况 
SELECT last_name,commission_pct,IFNULL(commission_pct,0) "details" 
FROM employees;#4.3 CASE WHEN... THEN ...WHEN	...THEN	ELSE END	
# 类似于java的if ...	else if	...	else if	...	else	
SELECT last name,salary,CASE 
WHEN salary>= 15000 THEN'白骨精'
WHEN salary	>= 10000 THEN'潜力股'	
WHEN salary >= 8000 THEN'小屌丝'
ELSE '草根' END "details",department id
FROM employees;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO语言学习(九)

GO语言学习(九) 上一期我们了解了实现web的工作中极为重要的net/http抱的细节讲解,大家学会了实现web开发的一些底层基础知识,在这一期我来为大家讲解一下web工作的一个重要方法,:使用数据库,现…

解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法

目录 前言 一、问题重现 1、环境说明 2、重现步骤 3、错误信息 二、关于LATERAL 1、Lateral作用场景 2、在四至场景中使用 三、问题解决之道 1、源码追踪 2、关闭sql合并 3、改写处理SQL 四、总结 前言 在博客:【写在创作纪念日】基于SpringBoot和PostG…

嵌入式学习--江协51单片机day8

这个本来应该周末写的,可是一直想偷懒,只能是拖到周一了,今天把51结个尾,明天开始学32了。 学习内容LCD1602,直流电机,AD/DA,红外遥控 LCD1602 内部的框架结构 屏幕小于数据显示区&#xff…

HUAWEI华为MateBook D 14 2021款i5,i7集显非触屏(NBD-WXX9,NbD-WFH9)原装出厂Win10系统

适用型号:NbD-WFH9、NbD-WFE9A、NbD-WDH9B、NbD-WFE9、 链接:https://pan.baidu.com/s/1qTCbaQQa8xqLR-4Ooe3ytg?pwdvr7t 提取码:vr7t 华为原厂WIN系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office…

【Python】Python 装饰器的用法总结

在 Python 中,装饰器(Decorator) 是一种设计模式,用于在不修改函数或类代码的情况下动态地扩展其功能。装饰器广泛应用于日志记录、性能监控、权限验证等场景,提供了一种简洁优雅的方式来“包裹”现有的代码。本文将介…

【C++】控制台小游戏

移动&#xff1a;W向上&#xff0c;S上下&#xff0c;A向左&#xff0c;D向右 程序代码&#xff1a; #include <iostream> #include <conio.h> #include <windows.h> using namespace std;bool gameOver; const int width 20; const int height 17; int …

「MATLAB」计算校验和 Checksum

什么是校验和 是一个算法&#xff0c;将一串数据累加&#xff0c;得到一个和。 MATLAB程序 function c_use Checksum(packet) %Checksum 求校验和 % 此处checksum提供详细说明checksum 0;for i 1:length(packet)value hex2dec(packet(i));checksum checksum value; …

JavaScript面试题之消息队列

JavaScript消息队列详解&#xff1a;单线程的异步魔法核心 在JavaScript的单线程世界中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步编程的核心机制&#xff0c;它像一位高效的调度员&#xff0c;让代码既能“一心多用”又避免卡顿。本文将深入剖析消…

京东外卖分润系统部署实操!0门槛入驻+全平台接入+自定义比例...这些人,赚翻了!

随着京东外卖的发展势头日渐迅猛&#xff0c;许多创业者们的态度也逐渐从原本的观望转变为了切实的行动&#xff0c;并开始通过各个渠道询问起了京东外卖自动分润系统部署相关的各项事宜&#xff0c;连带着以京东外卖自动分润系统质量哪家强为代表的多个问题&#xff0c;也成为…

【办公类-18-06】20250523(Python)“口腔检查涂氟信息”批量生成打印(学号、姓名、学校、班级、身份证、户籍、性别、民族)

背景需求: 6月是常规体检,前几天发了体检表(验血单),用Python做了姓名等信息的批量打印 【办公类-18-04】20250520(Python)“验血单信息”批量生成打印(学校、班级、姓名、性别)-CSDN博客文章浏览阅读969次,点赞19次,收藏11次。【办公类-18-04】20250520(Python)…

Python邮件处理:POP与SMTP

poplib简介 poplib 是Python 3中的官方邮件库&#xff0c;实现了POP的标准&#xff1a;RFC1939&#xff0c;用于邮件的收取。与之类似的还有imaplib 。 &#xff08;注&#xff1a;本文仅拿pop举例&#xff09; poplib的使用方法&#xff0c;就是几步&#xff1a; 先创建一…

IP风险度自检,多维度守护网络安全

如今IP地址不再只是网络连接的标识符&#xff0c;更成为评估安全风险的核心维度。IP风险度通过多维度数据建模&#xff0c;量化IP地址在网络环境中的安全威胁等级&#xff0c;已成为企业反欺诈、内容合规、入侵检测的关键工具。据Gartner报告显示&#xff0c;2025年全球78%的企…

Flink集成资源管理器

Flink集成资源管理器 Apache Flink 支持多种资源管理器&#xff0c;主要包括以下几种‌&#xff1a; YARN ResourceManager ‌&#xff1a;适用于使用 Hadoop YARN 作为资源管理器的环境。YARN ResourceManager 负责管理集群中的资源&#xff0c;包括 CPU、内存等&#xff0c;并…

upload 文件上传审计

目录 LOW Medium HIgh Impossible 概述 很多Web站点都有文件上传的接口&#xff08;比如注册时上传头像等&#xff09;&#xff0c;由于没有对上传的文件类型进行严格限制&#xff0c;导致可以上传一些文件&#xff08;比如Webshell&#xff09;。 上传和SQL、XSS等都是主流…

【freertos-kernel】list

freertos list 基本类型结构体ListItem_t &#xff08;list.h&#xff09;List_t &#xff08;list.h&#xff09; 宏函数函数vListInitialisevListInitialiseItemvListInsertEndvListInsertuxListRemove 基本类型 freertos为了兼容性&#xff0c;重新定义了基本类型&#xff…

游戏盾的功有哪些?

游戏盾的功能主要包括以下几方面&#xff1a; 一、网络攻击防护 DDoS攻击防护&#xff1a; T级防御能力&#xff1a;游戏盾提供分布式云节点防御集群&#xff0c;可跨地区、跨机房动态扩展防御能力和负载容量&#xff0c;轻松达到T级别防御&#xff0c;有效抵御SYN Flood、UD…

PycharmFlask 学习心得:路由(3-4)

对路由的理解&#xff1a; 用户输入网址 例如&#xff1a;http://localhost:5000/hello 浏览器会向这个地址发起一个 HTTP 请求&#xff08;比如 GET 请求&#xff09; 请求到达 Flask 的服务器 Flask 监听着某个端口&#xff08;如 5000&#xff09;&#xff0c;收到请求后…

课程与考核

6.1 课程讲解与实战考核 6.1.1 SQL注入篇考核 考核目标&#xff1a;通过手动注入与工具结合&#xff0c;获取目标数据库敏感信息。 题目示例&#xff1a; 目标URL&#xff1a;http://vuln-site.com/product?id1 要求&#xff1a; 判断注入类型&#xff08;联合查询/报错注…

线程池介绍,分类,实现(工作原理,核心组成,拒绝策略),固态线程池的实现+详细解释(支持超时取消机制和不同的拒绝策略)

目录 线程池 介绍 分类 实现 工作原理 核心组成 拒绝策略 固态线程池 功能 std::future 实现 拒绝策略支持 提交任务 超时取消 用户检测取消 安全销毁 代码 测试 线程池 介绍 线程池(图解,本质,模拟实现代码),添加单例模式(懒汉思路代码)_线程池单例-CSDN博…

纺线机与PLC通讯故障?ETHERCAT/CANopen网关秒解协议难题

在纺织行业智能化转型浪潮中&#xff0c;设备间高效通信是实现自动化生产的关键。JH-ECT009疆鸿智能EtherCAT转CANopen协议转换网关&#xff0c;凭借出色的协议适配能力&#xff0c;成功架起倍福PLC与自动纺线机间的通信桥梁&#xff0c;为纺织厂自动化生产注入强劲动力。 纺织…