sql语句中常用的函数(初学sql)

来源:互联网 发布:c语言中case是什么意思 编辑:程序博客网 时间:2024/05/02 22:21

自己总结了一些常用的函数,做一个日常的记录,不当之处还望大神指出!

sql语句中的函数方法:
1:有用的 Aggregate 函数:
  • AVG() - 返回平均值
  • COUNT() - 返回行数
  • FIRST() - 返回第一个记录的值
  • LAST() - 返回最后一个记录的值
  • MAX() - 返回最大值
  • MIN() - 返回最小值
  • SUM() - 返回总和
2:有用的 Scalar 函数:
  • UCASE() - 将某个字段转换为大写
  • LCASE() - 将某个字段转换为小写
  • MID() - 从某个文本字段提取字符,MySql 中使用
  • SubString(字段,1,end) - 从某个文本字段提取字符
  • LEN() - 返回某个文本字段的长度
  • ROUND() - 对某个数值字段进行指定小数位数的四舍五入
  • NOW() - 返回当前的系统日期和时间
  • FORMAT() - 格式化某个字段的显示方式
1:有用的 Aggregate 函数:
下面对上面函数的实例:
AVG:语法select AVG(column_name)from table_name; 返回一条记录数。 平均值
筛选出大于等于某字段平均值的所有记录:
示例:select column1,column2 from table_name where column1 >=(select AVG(column1) from table_name);

COUNT():语法
COUNT(column_name): 函数返回指定列的值的数目(NULL 不计入)。
示例:select COUNT(column_name) from table_name;
COUNT(*): 返回表中符合条件的所有记录的个数。
COUNT(distinct column_name) 函数返回指定列的不同值值的数目(去重)。

FIRST(column_name):Last(column_name) 把ASC换成DESC
返回该字段的第一条记录
语法:select FIRST(column_name) from table_name;
等同与,mysql数据库的:select column_name from table_name limit 1;
sql server : select top 1 column_name from table_name order by column_name ASC;
Oracle :select column_name from table_name order by column_name ASC where rownum <= 1;

MAX(column_name) 最大值 MIN(column_name) 最小值
语法:select MAX(column_name)from table_name;

SUM(column_name) 返回该字段所有记录数值的总和
sum()求字段各行数值的累加 count() 求行的个数的累加
sum()对null,不计算 count()认为没有null这项(不计算)。
语法: select SUM(column_name) from table_name;
group by column_name 以某个字段进行分组用于结合聚合函数,根据一个或多个列对结果集进行分组。
语法: select column_name,函数(column_name) from table_name where 条件 group by column_name;
HAVING 子句 用于group by 分组后的数据的处理。
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。
语法:select column_name,函数(column_name) from table_name where 条件 group by column_name HAVING 函数(column_name)operator value;
2:有用的 Scalar 函数:
UCASE(column_name)UCASE() 函数把字段的值转换为大写。
LCASE (column_name) 语法相同。
语法: select UCASE(column_name) from table_name;
MID(column_name,start,length)函数用于从文本字段中提取字符。
column_name : 必须 要提取字符的字段名
start: 必须 规定开始位置
Length: 可选 规定要返回的字符数 省略则是返回剩下剩下所有字符。
语法: select MID(column_name,start,length) from table_name;
LEN(column_name) 返回字段中文本的长度(多少个字符)
语法: sql server : select LEN(column_name) from table_name;
Mysql数据库 : select LENGTH(column_name) from table_name;
ROUND(column_name,decimals用于把数值字段舍入为指定的小数位数。
decimals: 必须 表示规定要返回的小数位数。
语法: selectROUND(column_name,decimals)from table_name;
NOW() 函数返回当前系统的日期和时间。
语法: select NOW() from table_name;

FORMAT() 函数用于对字段的显示进行格式化。
语法:select FORMAT(column_name,format) from table_name;
示例:select name, url, date_FORMAT(Now(),'%Y-%m-%d') AS date
from Websites;

原创粉丝点击