SQLServer函数的使⽤
SQL 函数
⼀、 SQL Aggregate 函数(合计)
Aggregate:函数计算从列中取得的值,返回⼀个单⼀的值。
函数:
AVG() - 返回平均值
COUNT() - 返回总⾏数
Top 1 - 返回数据的第⼀⾏的值,要使⽤order by进⾏正序排序(只有MS Access⽀持FIRST()和LAST()函数)
Top 1 - 返回数据的最后⼀⾏的值,要使⽤order by进⾏倒叙排序(LAST)
MAX() - 返回最⼤值
MIN() - 返回最⼩值
SUM() - 返回总和SQL Scalar 函数
⼆、 SQL Scalar 函数(数量、标量)
Scalar 函数基于输⼊值,返回⼀个单⼀的值。
函数:
UPPER() - 将某个字段转换为⼤写---(Mysql中使⽤UCASE())column函数怎么使用
LOWER() - 将某个字段转换为⼩写---(Mysql中使⽤LCASE())
LEFT(),RIGHT(),SubString() -从某个⽂本字段提取字符---(Mysql中使⽤MID())
LEN() - 返回某个⽂本字段的长度(Mysql中使⽤LENGTH())
ROUND() - 对某个数值字段进⾏指定⼩数位数的四舍五⼊-decimal()
GETDATE() - 返回当前的系统⽇期和时间---(Mysql中使⽤NOW())
COMVERT()-把⽇期转换为新数据类型的通⽤函数(Mysql中使⽤FORMAT() - 格式化某个字段的显⽰⽅式)
三、函数例⼦
1.AVG() - 返回平均值(Average): SELECT AVG(column_ name) FROM table_name
查询a表中count列的平均值SELECT AVG(count) AS CountAverage FROM a;
2.COUNT() - 返回总⾏数
1) COUNT(column_name)函数返回指定列的列数的总数(NULL不计⼊):
SELECT COUNT(column_name) FROM table_name;
2) COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_name;
3) COUNT(DISTINCT column)函数返回指定列的不重复的总数:distinct去重
SELECT COUNT(DISTINCT column_name) FROM table_name;
COUNT(DISTINCT) 适⽤于 ORACLE 和 Microsoft SQL Server。
3. TOP⼦句⽤于规定要返回的记录的数⽬。
percent百分⽐: SELECT TOP number|percent column_name(s) FROM table_name;
a表中百分之50的数据:select Top 50 percent * from a;
TOP 1 -返回指定的列中第⼀个数据(只有MS Access⽀持FIRST()和LAST()函数)
1) SQL Server: asc正序
SELECT TOP 1 column/* FROM table_name ORDER BY column_name ASC;
2) MYSQL:
SELECT column FROM table_name ORDER BY column_name ASC LIMIT 1;
3) ORACLE:
SELECT column FROM table ORDER BY column ASC WHERE ROWNUM <=1;
4) MS Access: SELECT FIRST(column_name) FROM table_name;
4.TOP 1 - 返回指定的列中最后⼀个记录的值
1) SQL Server: desc倒叙
SELECT TOP 1 column_name FROM table_name ORDER BY column_name DESC; 2) MYSQL:
SELECT column FROM table_name ORDER BY column_name DESC LIMIT 1;
3)ORACLE:
SELECT column FROM table ORDER BY column DESC WHERE ROWNUM <=1; 4)MS Access:
SELECT LAST(column_name) FROM table_name;
5.MAX() - 返回指定列的最⼤值SELECT MAX(column_name) FROM table_name;
查询a表中count列的中最⼤的值:select MAX(count) from a;
6.MIN()- 函数返回指定列的最⼩值SELECT MIN(column_name) FROM table_name;
查询a表中count列的中最⼩的值:select MIN(count) from a;
7.SUM() - 函数返回数值列的总数SELECT SUM(column_name) FROM table_name;
查询a表中count列的中值得总数:select SUM(count) from a;
8.GROUP BY-⽤于结合聚合函数,根据⼀个或多个列对结果集进⾏分组
SELECT column_name, aggregate_function(column_name)
FROM table_name WHERE column_name operator value
GROUP BY column_name;
group by分组的字段=select查询的字段
1)查询表中姓名,根据姓名分组:
select Name from Tables group by Name;
2)查询姓名年龄和总成绩,根据姓名年龄分组:
select Name,Age,sum(Score) as '总数' from Tables group by Name,Age;
9.HAVING⼦句可以筛选分组后的各组数据
增加 HAVING ⼦句原因是:WHERE 条件不能使⽤聚合函数
SELECT column_name,aggregate_function(column_name)
FROM table_name WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
10.EXISTS运算符
· ⽤于判断查询⼦句是否有记录,如果有⼀条或多条记录存在返回 True,否则返回 False SELECT column_name(s) FROM table_name
WHERE EXISTS(SELECT column_name FROM table_name WHERE condition);
11.UPPER() 函数把字段的值转换为⼤写
(1) SQL SERVER: upper
SELECT UPPER(column_name) FROM table_name;
(2) MYSQL: ucase
SELECT UCASE(column_name) FROM table_name;
12.LOWER()函数把字段的值转换为⼩写
(1)SQL SERVER: lower
SELECT LOWER (column_name) FROM table_name;
(2)MYSQL: lcase
SELECT LCASE(column_name) FROM table_name;
13.left(),right(),substring()函数⽤于从⽂本字段中提取字符
1) SQL SERVER:
left(string,length):
1--返回从字符串左边开始指定个数的字符
2select LEFT('SqlServer_2008',3); --返回Sql
right(string,length):
1--返回从字符串右边开始指定个数的字符
2select RIGHT('SqlServer_2008',4);---2008
substring(character,start,length):
1--返回从字符串中间的字符
2select SUBSTRING('SqlServer_2008',4,6);---server
2) MYSQL: MID()
SELECT MID(column_name,start,length) FROM table_name;
1--返回从字符串中间的字符
2select MID('列名OR字符串',1,4);--- 列名OR
14.LEN() -函数返回⽂本字段中值的长度
1) SQL SERVER: len()
SELECT LEN(column_name) FROM table_ name;
2) MYSQL: length()
SELECT LENGTH(column_name) FROM table_name;
15.ROUND() 函数⽤于把数值字段四舍五⼊为指定的⼩数位数
1) ROUND(数据OR字段, ⼩数后⼏位, 截断) 截断默认是0
SELECT ROUND(column_name,decimals) FROM table_name;
2)decimal():⼩数,⼗进制 cast(数据as decimal(,))
SELECT CAST(数据OR字段 as decimal(数据的位数, ⼩数后⼏位))
16. getdate() 获取当前系统的⽇期和时间
select getdate();
17.covert() 函数是把⽇期转换为新数据类型的通⽤函数。 CONVERT(data_type(length),expression,style)
convert(数据类型(长度),getdate(),格式)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论