7. 数据库函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: <div style="font-family:微软雅黑; font-size:14px; line-height:21px; widows:auto">        每个数据库都会在标准的SQL基础上扩展一些函数。函数一般会有一或多个输入(即参数),最终只返回一个值作为返回值。</div> <div style="font-family:微软雅黑; font-size:14px; l
        每个数据库都会在标准的SQL基础上扩展一些函数。函数一般会有一或多个输入(即参数),最终只返回一个值作为返回值。
        SQL中的函数是独立的程序单元。调用时无需使用任何类、对象作为调用者。

  • 多行函数(也称 聚集函数、分组函数)
        对多行输入整体计算,最后只得到一个结果。主要完成一些统计功能,在大部分数据库中基本相同。
  • 单行函数
        对每行输入值单独计算,每行得到一个结果并返回。不同数据库单行函数差别很大。

MySQL中的 单行函数具有如下特征:
  • 可多个参数,但只返回一个值;
  • 参数可以是变量、常量、数据列;
  • 对每行单独起作用,每行返回一个结果;
  • 使用单行函数可改变参数的数据类型;
  • 支持嵌套使用(内层函数返回值是外层函数的参数)。
       
MySQL单行函数分类:
        MySQL数据库的数据类型大致分为数值型、字符型和日期时间型,MySQL提供了对应的函数。
数值函数、字符函数、日期和时间函数、转换函数、其他函数(位函数、流程控制函数、加密解密函数、信息函数)


name字段的长度(输出行数与表的行数相同)

SELECT

    CHAR_LENGTH(NAME)

FROM student;

 

嵌套使

SELECT SIN(CHAR_LENGTH(NAME))

FROM student;

 

指定日期添加一定的时间

SELECT

    DATE_ADD(

        '2016-02-28',

        INTERVAL字,后跟一个值和单位

        INTERVAL DAY #输出2016-03-01

    );

 

更简便的增加指定时间

SELECT

    ADDDATE('2015-01-18',3);

 

SELECT

    # CURTIME(); # 获取当前时间,17:52:55

    获取当前日期,如2016-01-19

    CURDATE();

 

MD5加密

SELECT MD5('hello');

 

#

#处理NULL的函数

#

SELECT

    IFNULL(id,'expr') # idnull,则返回expr

    NULLIF(grade, math) # grademath相等则返回null则返回grade

    ISNULL(id) # null则返回0(true)则返回1(false)

FROM student;

 

SELECT

    expr1idtrue、不等于0且不等于null,则返回expr2则返回expr3

    #此处id布尔,只要空即true

IF(id,'expr2','expr3')

FROM student;

 

#

case流程控制函数

两种

#

SELECT

    NAME,

    CASE id

WHEN THEN

    'is 1'

WHEN THEN

    'is 2'

ELSE

    '>2'

END AS `level`

FROM

    student;

 

case语法2更灵

when condition(返回boolean的表达式)

SELECT

    NAME,

    CASE # id

WHEN id <=THEN

    'small'

WHEN id <10 THEN

    'big'

ELSE

    'null'

END AS `level`

FROM

    student;


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
55 0
|
2月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
161 0
|
5月前
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
183 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
42 5
|
5月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
73 0
|
4月前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
34 2
|
5月前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
4月前
|
存储 传感器 时序数据库
时序数据库influx有字符串拼接函数吗
【6月更文挑战第25天】时序数据库influx有字符串拼接函数吗
54 0
|
4月前
|
SQL 分布式计算 MaxCompute
MaxCompute操作报错合集之通过UDF(用户定义函数)请求外部数据库资源并遇到报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
170 0