数据库基础——8.单行函数

这篇具有很好参考价值的文章主要介绍了数据库基础——8.单行函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章我们来讲一下数据库里面的单行函数

目录

1. 函数的理解

1.1 什么是函数

1.2 不同DBMS函数的差异

1.3 MySQL的内置函数及分类

2. 数值函数

2.1 基本函数

2.2 角度与弧度互换函数

2.3 三角函数 

2.4 指数与对数 

2.5 进制间的转换 

3. 字符串函数 

4. 日期和时间函数 

4.1 获取日期、时间

4.2 日期与时间戳的转换 

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

4.4 日期的操作函数 

4.5 时间和秒钟转换的函数

4.6 计算日期和时间的函数

4.7 日期的格式化与解析 

5. 流程控制函数 

 6. 加密与解密函数

7. MySQL信息函数

8. 其他函数


1. 函数的理解

1.1 什么是函数

函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来, 需要的时候直接调用即可。这样既 提高了代码效率 ,又 提高了可维护性 。在 SQL 中我们也可以使用函数 对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率

数据库基础——8.单行函数

从函数定义的角度出发,我们可以将函数分成 内置函数自定义函数 。在 SQL 语言中,同样也包括了 内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章及下一章讲解的是 SQL 的内置函数。

1.2 不同DBMS函数的差异

我们在使用 SQL 语言的时候,不是直接和这门语言打交道,而是通过它使用不同的数据库软件,即 DBMS。DBMS 之间的差异性很大,远大于同一个语言不同版本之间的差异。实际上,只有很少的函数是 被 DBMS 同时支持的。比如,大多数 DBMS 使用(||)或者(+)来做拼接符,而在 MySQL 中的字符串拼 接函数为concat()。大部分 DBMS 会有自己特定的函数,这就意味着采用 SQL 函数的代码可移植性是很 差的,因此在使用函数的时候需要特别注意。

1.3 MySQL的内置函数及分类

MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析 与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。

MySQL提供的内置函数从 实现的功能角度 可以分为数值函数、字符串函数、日期和时间函数、流程控制 函数、加密与解密函数、获取MySQL信息函数、聚合函数等。这里,我将这些丰富的内置函数再分为两 类: 单行函数 、 聚合函数(或分组函数)

两种SQL函数:

数据库基础——8.单行函数

单行函数:

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

2. 数值函数

2.1 基本函数

数据库基础——8.单行函数

例:SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32), FLOOR(-43.23),MOD(12,5) FROM DUAL;

数据库基础——8.单行函数

例:SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1) FROM DUAL; 

数据库基础——8.单行函数

例:SELECT ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1) FROM DUAL; 

数据库基础——8.单行函数

2.2 角度与弧度互换函数

数据库基础——8.单行函数

例:SELECT RADIANS(30),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(90)) FROM DUAL; 

数据库基础——8.单行函数

2.3 三角函数 

数据库基础——8.单行函数

例: SELECT SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1)),DEGREES(ATAN2(1,1) ) FROM DUAL;

数据库基础——8.单行函数

2.4 指数与对数 

数据库基础——8.单行函数

例: SELECT POW(2,5),POWER(2,4),EXP(2),LN(10),LOG10(10),LOG2(4)  FROM DUAL;

数据库基础——8.单行函数

2.5 进制间的转换 

数据库基础——8.单行函数

例:SELECT BIN(10),HEX(10),OCT(10),CONV(10,2,8)  FROM DUAL; 

数据库基础——8.单行函数

3. 字符串函数 

数据库基础——8.单行函数

数据库基础——8.单行函数注意:MySQL中,字符串的位置是从1开始的。

例:SELECT FIELD('mm','hello','msm','amma'),FIND_IN_SET('mm','hello,mm,amma')  FROM DUAL;

数据库基础——8.单行函数

4. 日期和时间函数 

4.1 获取日期、时间

数据库基础——8.单行函数

例:SELECT CURDATE(),CURTIME(),NOW(),SYSDATE()+0,UTC_DATE(),UTC_DATE()+0,UTC_TIME(),UTC_TIME()+0 FROM DUAL;

 数据库基础——8.单行函数

4.2 日期与时间戳的转换 

数据库基础——8.单行函数

例: SELECT UNIX_TIMESTAMP(now());数据库基础——8.单行函数

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

数据库基础——8.单行函数

例: SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()), HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE()) FROM DUAL;

数据库基础——8.单行函数

4.4 日期的操作函数 

数据库基础——8.单行函数

EXTRACT(type FROM date)函数中type的取值与含义:

数据库基础——8.单行函数例:SELECT EXTRACT(MINUTE FROM NOW()),EXTRACT( WEEK FROM NOW()), EXTRACT( QUARTER FROM NOW()),EXTRACT( MINUTE_SECOND FROM NOW()) FROM DUAL;

4.5 时间和秒钟转换的函数

数据库基础——8.单行函数

例:SELECT TIME_TO_SEC(NOW());

数据库基础——8.单行函数

4.6 计算日期和时间的函数

第1组:

数据库基础——8.单行函数

上述函数中type的取值:

数据库基础——8.单行函数 例: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;

 数据库基础——8.单行函数

第2组: 

数据库基础——8.单行函数

例: 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;

数据库基础——8.单行函数

4.7 日期的格式化与解析 

数据库基础——8.单行函数

上述 非GET_FORMAT 函数中fmt参数常用的格式符:

数据库基础——8.单行函数 

GET_FORMAT函数中date_type和format_type参数取值如下:

数据库基础——8.单行函数

例:SELECT DATE_FORMAT(NOW(), '%H:%i:%s');

数据库基础——8.单行函数

5. 流程控制函数 

流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。 MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。

数据库基础——8.单行函数

例:SELECT IF(1 > 0,'正确','错误')

 数据库基础——8.单行函数

例:SELECT employee_id,salary, CASE WHEN salary>=15000 THEN '高薪'
WHEN salary>=10000 THEN '潜力股'
WHEN salary>=8000 THEN '屌丝'
ELSE '草根' END "描述"
FROM employees;

数据库基础——8.单行函数

 6. 加密与解密函数

加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在 保证数据库安全时非常有用。

数据库基础——8.单行函数

可以看到,ENCODE(value,password_seed)函数与DECODE(value,password_seed)函数互为反函数。

例:SELECT PASSWORD('mysql'), PASSWORD(NULL) 

数据库基础——8.单行函数

7. MySQL信息函数

MySQL中内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地 对数据库进行维护工作。

数据库基础——8.单行函数

例: SELECT DATABASE();

数据库基础——8.单行函数

8. 其他函数

MySQL中有些函数无法对其进行具体的分类,但是这些函数在MySQL的开发和运维过程中也是不容忽视的。

数据库基础——8.单行函数

例:SELECT FORMAT(123.123, 2), FORMAT(123.523, 0), FORMAT(123.123, -2); 

数据库基础——8.单行函数

说明:关于这个SQL的单行函数,我们掌握基本的数值函数,熟悉流程控制函数和MySQL信息函数,其他的认识就行,没必要记那么多。 

 文章来源地址https://www.toymoban.com/news/detail-463741.html

到了这里,关于数据库基础——8.单行函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库基础:JSON函数各类操作一文详解

    很多日常业务场景都会用到json文件作为数据存储起来,而mysql5.7以上就提供了存储json的支撑。往常存储json一般都保留在pg库或者是hive库里面,现在mysql有了支持的话基本业务都可以用mysql来实现。现在mysql8.x版本对json字符出处理已经做的非常完善了。现在就让我们来详细了解

    2024年02月04日
    浏览(54)
  • MySQL数据库基础(三):多表查询,子查询,开窗函数

    表与表之间的关系 在SQL语句中,数据表与数据表之间,如果存在关系,一般一共有3种情况: ① 一对一关系(高级) 比如有A、B两张表,A表中的每一条数据,在B表中有一条唯一的数据与之对应。 用户表user user_id(用户编号) 账号username 密码password 001 admin admin888 002 itheima

    2024年02月12日
    浏览(45)
  • 零基础学MySQL(五)-- 详细讲解数据库中的常用函数

    提供 student 表 1️⃣count 函数 count 表示返回行的总数 (1)基本语法 (2)基本练习 统计一个班级共有多少学生? 统计数学成绩大于 90 的学生有多少个? 统计总分大于 250 的人数有多少? (3)注意细节 count(*) 和 count(列) 的区别: count(*) 返回满足条件的记录的行数 count(列

    2024年01月19日
    浏览(59)
  • 有了向量数据库,我们还需 SQL 数据库吗?

    “除了向量数据库外,我是否还需要一个普通的 SQL 数据库?” 这是我们经常被问到的一个问题。如果除了向量数据以外,用户还有其他标量数据信息,那么其业务可能需要在进行语义相似性搜索前先根据某种条件过滤数据,例如: 在法律领域,可能只需要从某个特定数据库

    2024年02月03日
    浏览(49)
  • 如何利用Python中的pymysql库来操作Mysql数据库,看这篇就够啦~

     为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库,本文是向大家介绍了如何利用python中的pymysql库来操作mysql数据库。 1、什么是pymysql? pymysql是从python连接到mysql数据库服务器的接口, 简单理解就是,pymysql是python操作mysql数据库的三方模块,可

    2024年02月06日
    浏览(57)
  • python基础学习6【DatatimeIndex与PeriodIndex函数+Timedelta类+连接数据库+agg()函数和aggregate()函数】

    转换与处理时间序列数据   转换字符串时间为标准时间: Timestamp类型:最基础最常用。 如果超出时间戳最大值,最小值,时间戳存储可能不成功 : DatatimeIndex与PeriodIndex函数【其实俺暂时不懂这俩能干啥呜呜呜】 Timedelta类 不仅能够使用正数,也能使用负数; 可以轻松实现在

    2024年02月10日
    浏览(53)
  • 物联网行业中,我们如何选择数据库?

    在当今数字化潮流中,我们面对的不仅是海量数据,更是时间的涟漪。从生产线的传感器到金融市场的交易记录,时间序列数据成为了理解事物演变和趋势的关键。在面对这样庞大而动态的数据流时,我们需要深入了解一种强大的工具——时序数据库。时序数据库的崛起不仅

    2024年04月15日
    浏览(51)
  • MongoDB数据库从入门到精通系列文章之:MongoDB数据库百篇技术文章汇总

    MongoDB数据库系列文章持续更新中: 更多数据库内容请阅读博主数据库专栏,数据库专栏涵盖了Mysql、SQLServer、PostgreSQL、MongoDB、Oracle、Cassandra等数据库 数据库专栏 文章名称 文章链接 数据库安装部署系列之:部署Mongodb5.0.6高可用集群详细步骤 数据库安装部署系列之:部署M

    2024年02月11日
    浏览(59)
  • Elasticsearch:什么是向量和向量存储数据库,我们为什么关心?

    Elasticsearch 从 7.3 版本开始支持向量搜索。从 8.0 开始支持带有 HNSW 的 ANN 向量搜索。目前 Elasticsearch 已经是全球下载量最多的向量数据库。它允许使用密集向量和向量比较来搜索文档。 向量搜索在人工智能和机器学习领域有许多重要的应用。 有效存储和检索向量的数据库对于

    2024年02月08日
    浏览(53)
  • 3、数据库:Oracle部署 - 系统部署系列文章

           Oracle数据库的安装,以前写过一篇,这次将新版的安装再记录一次,让读者能够有所了解,笔者也能够记录下最新版的安装过程。 一、 数据库下载; Oracle最新版目前在官网是19c,从下面这个链接进去下载便可。        https://www.oracle.com/cn/database/technologies/oracle

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包