聚合:
1.当聚集函数遇到空值时,除COUNT(*)外,都跳过空值而出处理非空值。
2.WHERE子句中不能使用聚集函数。
3.聚集函数只能用于SELECT和GROUP BY中的HAVING语句。
常用的聚合函数
1 count 2 sum 3 avg 4 max 5 min
使用规范时 默认的是all
distinct 指定所有的唯一非空值行
count (行的数目)
select count ( 列或者*) from 表
sum (总和)
select sum(计数规范)from
分组 (group by)
select 列a , 聚合函数 from 表 where 过滤条件 group by 列a (以列a来分组)
过滤聚合函数(having)
select 列a , 聚合函数 from 表 where 过滤条件 group by 列a having 聚合函数过滤条件
2.分支:
case…end
case后面有值,相当于c#中的switch case
注意:case后必须有条件,并且when后面必须是值不能为条件。
-----------------case--end---语法结构--------------------- select name , --注意逗号 case level --case后跟条件 when 1 then ‘骨灰‘ when 2 then ‘大虾‘ when 3 then‘菜鸟‘ end as‘头衔‘ from [user]
3.格式化:
格式化函数 |
类型 |
CONVERT(data_type[(length)],expression [, style]) |
CONVERT() 函数是把日期转换为新数据类型的通用函数也可以用不同的格式显示日期/时间数据。 |
TRIM(字串) |
将字串首尾两端的空格移除,作用等于RTRIM和LTRIM两个函数共同的结果。 |
Decimal(n,m) |
表示数值中共有n位数,其中整数n-m位,小数m位。当用 int类型会有溢出时,可以用 decimal 类型进行处理 |
ROUND(column_name,decimals) |
column_name表示要输入的字段,decimals表示返回的小数位 |
4.日期:
日期格式转换:date_format(date,format), time_format(time,format)
使用DATE_FORMAT(数据库字段,‘%Y%m%d‘)将时间类型字段格式为"yyyy-mm-dd"字符串格式
str_to_date(数据库字段,‘%m.%d.%Y‘)将字符串类型字段格式为"yyyy-mm-dd"时间格式
日期常用函数:
GETDATE() --取得当前日期时间 DATEADD (datepart , number, date )--计算增加以后的日期。参数date为待计算的日期;参数number为增量;参数datepart为计量单位,可选值见备注。DATEADD(DAY, 3,date)为计算日期date的3天后的日期,而DATEADD(MONTH ,-8,date)为计算日期date的8个月之前的日期 DATEDIFF ( datepart , startdate , enddate ) --计算两个日期之间的差额。 datepart 为计量单位,可取值参考DateAdd。 -- 获取日期的某一部分 : DATEPART (datepart,date)--返回一个日期的特定部分 整数 DATENAME(datepart,date)--返回日期中指定部分 字符串 YEAR() MONTH() DAY()