SQL 必知必会--函数篇

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: SQL 必知必会--函数篇 对SQL的基础函数做复习回顾,本篇涉及的函数知识如下: 好了,下面开始复习: SQL Aggregate 函数计算从列中取得的值,返回一个单一的值 Max() 函数 作用:返回指定列的最大值 语法: Select max (column name) from tab.

SQL 必知必会--函数篇

对SQL的基础函数做复习回顾,本篇涉及的函数知识如下:


好了,下面开始复习:

SQL Aggregate 函数计算从列中取得的值,返回一个单一的

Max() 函数

作用:返回指定列的最大

语法:

Select max (column name) from table name where condition;

例子:从exam表里获取 math列的 最大值 

Select max (math)  as max_math from exam;

Min() 函数

作用:返回指定列的最小

语法:

Select min (column name) from table name where condition;

例子:exam表里获取art列的 最小值

Select min (art)  as max_math from exam;

Count( ) 函数

作用和语法:



   
   
  1. 返回符合指定条件的行数
  2. Select count ( column name) from table name where condition; (NULL 不计入)
  3. 返回表中的记录数
  4. Select count (*) from table name;
  5. 返回指定列的不同值的数目
  6. Select count ( distinct column name) from table name where condition;

PSCOUNT(DISTINCT) 适用于 ORACLE  Microsoft SQL Server,但是无法用于 Microsoft Access

例子:exam表里获取art列大于60分的数量

Select count (art) from exam where art >= 60;

Avg( ) 函数

作用:返回数值列的平均

语法:

Select count ( column name) from table name;

例子:从exam表里获取art列的平均值

Select avg (art) as avg_art_score from exam;

First( ) 函数

作用:返回指定的列中第一个记录的

语法:

Select first ( column name) from table name;

PS只有 MS Access 支持 FIRST() 

例子:从exam表里获取art列的第一个值

Select first (art) as first_ score from exam;

实现相同操作:



   
   
  1. Mysql 使用 limit offset
  2. Select art from exam order by id ASC limit 1;
  3. Sql server 使用 top n
  4. Select top 1 art from exam order by id ASC;
  5. Oracle使用 rownum
  6. Select art from exam order by id ASC where rownum <= 1;

Last( ) 函数

作用:返回指定的列中最后一个记录的

语法:

Select last ( column name) from table name;

例子:从exam表里获取art列的最后一个值

PSfirst() 函数相同只有 MS Access 支持 last() ,其他数据库实现方法参见实现first()函数的形式

Sum( ) 函数

作用:返回数值列的总

语法:

Select sum ( column name) from table name;

例子:从 class 表里获取 num 列的总和

Select sum (num) as total_num from class;

SQL Scalar 函数基于输入值,返回一个单一的值

Ucase( ) 函数

作用:把字段的值转换为大写

语法:

Select ucase ( column name) from table name;

例子:将class 表里面的name 列都转化为大写

Select ucase (name) as newName from class;

PS:sql server使用upper()

Lcase( ) 函数

作用:把字段的值转换为大写

语法:

Select lcase ( column name) from table name;

例子:将class 表里面的name 列都转化为小写

Select lcase (name) as newName from class;

PS:sql server使用lower()

Mid( ) 函数

作用:用于从文本字段中提取字

语法:

Select mid ( column name, start[,length]) from table name;

参数

描述

column name

必需。要提取字符的字

start

必需。规定开始位置(起始值是 1

length

可选。要返回的字符数。如果省略,则 mid( ) 函数返回剩余文

例子:将class 表里面的name 列取前四个字符

Select mid (name,1,4) as short_name from class;

Len( ) 函数

作用:返回文本字段中值的长

语法:

Select len ( column name) from table name;

PSMySQL 中函数为 length():

例子:计算class 表里面的name 列值的长度

Select len (name) as LengthOfName from class;

Round( ) 函数

作用:用于把数值字段舍入为指定的小数位

语法

Select round ( column name, decimals) from table name;

参数

描述

column name

必需。要舍入的字段

decimals

必需。规定要返回的小数位数。

例子:sale 表里面的price列的值四舍五入为1位小数

Select round (price,1) as newPrice from sale;

拓展:

ROUND(X) 返回参数X的四舍五入的一个整



   
   
  1. mysql> select ROUND( -1.23);
  2.         -> -1
  3. mysql> select ROUND( -1.58);
  4.         -> -2
  5. mysql> select ROUND( 1.58);
  6.         -> 2

ROUND(X,D) 返回参数X的四舍五入的有 D 位小数的一个数字。如果D0,结果将没有小数点或小数部分



   
   
  1. mysql> select ROUND( 1.298, 1);
  2.         -> 1.3
  3. mysql> select ROUND( 1.298, 0);
  4.         -> 1

PSROUND 返回值被变换为一个BIGINT!

Now( ) 函数

作用:返回当前系统的日期和时

语法: Select now( );

Format( ) 函数

作用: 用于对字段的显示进行格式

语法:

Select format ( column name,format) from table name;

参数

描述

column name

必需。要格式化的字

format

必需。规定格式

例子:从 class 表里选取 date 列并格式化为YYYY-MM-DD 的日

select format(date,'%Y-%m-%d') as newNate from class;

以上就是SQL函数的基础用法。

原文地址https://blog.csdn.net/zz_moon/article/details/82013172

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
SQL 人工智能 数据挖掘
如何在`score`表中正确使用`COUNT`和`AVG`函数?SQL聚合函数COUNT与AVG使用指南
本文三桥君通过score表实例解析SQL聚合函数COUNT和AVG的常见用法。详解COUNT(studentNo)、COUNT(score)、COUNT()的区别,以及AVG函数对数值/字符型字段的不同处理,特别指出AVG()是无效语法。实战部分提供6个典型查询案例及结果,包含创建表、插入数据的完整SQL代码。产品专家三桥君强调正确理解函数特性(如空值处理、字段类型限制)对数据分析的重要性,帮助开发者避免常见误区,提升查询效率。
266 0
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
207 3
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
2338 5
|
SQL 数据采集 数据处理
如何在 SQL Server 中使用 LEN 函数
【8月更文挑战第9天】
586 1
如何在 SQL Server 中使用 LEN 函数
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
SQL 关系型数据库 MySQL
SQL日期函数
SQL日期函数
226 0
|
SQL 监控 索引
如何在 SQL Server 中使用 `PATINDEX` 函数
【8月更文挑战第8天】
1127 9
|
SQL 数据处理 数据库
SQL中的函数有哪些类型
【8月更文挑战第20天】SQL中的函数有哪些类型
312 1
|
SQL 数据处理 数据库