SQL 必知必会--函数篇

173 阅读4分钟
原文链接: click.aliyun.com

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( ) 函数

作用和语法:


PS:COUNT(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;

实现相同操作:


Last( ) 函数

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

语法:

Select last ( column name) from table name;

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

PS:与first() 函数相同,只有 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;

PS:MySQL 中函数为 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的四舍五入的一个整数


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


PS:ROUND 返回值被变换为一个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函数的基础用法。

原文地址blog.csdn.net/zz_moon/art…