码迷,mamicode.com
首页 > 数据库 > 详细

常用的 SQL 函数

时间:2014-11-26 13:43:07      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   sp   数据   on   2014   art   bs   ad   

   SQL 函数

      聚合函数(针对数字列):

  AVG:求平均分
  COINT: 计算个数
  MAX: 求最大值
  MIN: 求最小值
  SUM: 求和

       数学函数():
  ABS:     绝对值
  CEILING: 上限取整
  floor:  取整 
  pi:     圆周率
  round:  第一个参数是要进行四舍五入的数,第二个参数是要四舍五入到小数点之后的几位
  rand(): 随机生成
  sqrt:   求平方根,开根号
  square: 求平方
 
       日期时间函数:
  DATEADD:    添加
  datediff:   取时间差 
  datename:   单独返回日期时间中的年月日时分秒,或者星期,第几周
  datepart:   取指定字段的整数
  YEAR:       返回年份
  month:      返回年份的第多少个月份
  day:        返回月份的第多少天
  isdate:     判断日期时间
  getdate:    返回数据库服务时间
  SYSDATETIME:获取电脑的系统时间

函数后面加 as 可以给函数列起别名比如: as 别名

 

      聚合函数的应用:

---------三班男生比二班多几个人
select  (select COUNT(*)  from zuoye where xingbing=‘男‘ and banji=‘三班‘)

---------结合分组使用聚合函数,分别对每组进行计算显示,having筛选
select COUNT(*),avg(shengao),banji from zuoye group by banji having COUNT(*)>3

---------查询每个班里比这个班的平均身高高的同学的所有信息
select*from zuoye as a where shengao>(select AVG(shengao) from zuoye as b where b.banji=a.banji)

---------查询身高最高的人
select MAX(shengao) from zuoye

---------查询身高最矮的人
select MIN(shengao) from zuoye

---------查询所有人身高的和
select SUM(shengao) from zuoye

 

      数学函数:

---------绝对值
select ABS(-1)  

---------ceiling上限取整
select CEILING(1.9)
select CEILING(1.1)

---------floor取整
select floor(1.1)
select floor(1.9)

---------pi圆周率
select pi()

---------round第一个参数是要进行四舍五入的数,第二个参数是要四舍五入到小数点之后的几位
select round(3.597,2)

---------rand()随机生成
select RAND()

---------sqrt求平方根,开根号
select sqrt(16)

---------square求平方
select square(4)

---------求身高平方根之后取 上限整数 然后等于14的同学的信息显示出来
select *from zuoye where ceiling (SQRT(shengao))=14
select xingming,shengao,FLOOR(SQRT(shengao))from zuoye where ceiling (SQRT(shengao))=14

 

      日期函数:

---------DATEADD 添加
select DATEADD(YEAR,1,‘20000229‘)--加年
select DATEADD(month,1,‘20000331‘)--加月
select DATEADD(day,1,‘20000229‘)--加天

---------datediff 取时间差
select DATEDIFF (YEAR,‘20111211‘,‘20141116‘)--相差几年
select DATEDIFF (month,‘20111211‘,‘20141116‘)--相差月
select DATEDIFF (day,‘20111211‘,‘20141116‘)--相差天
select DATEDIFF (week,‘20111211‘,‘20141116‘)--相差星期

---------datename 单独返回日期时间中的年月日时分秒,或者星期,第几周
select datename (YEAR,‘20261211‘)
select datename (week,‘20261211‘)
select datename (weekday,‘20261211‘)

---------datepart 取指定字段的整数
select datepart (YEAR,‘20261211‘)
select datepart (WEEK,‘20261211‘)
select datepart (WEEKDAY,‘20261211‘)

---------YEAR返回年份
select year(‘20141125‘)

---------month返回年份的第多少个月份
select month(‘20141125‘)

---------day返回月份的第多少天
select DAY(‘20141125‘)

---------getdate返回数据库服务时间
select getdate()

---------getdate返回数据库服务时间
select getdate()

---------isdate判断日期时间
select isdate(‘20140216‘)

---------SYSDATETIME获取电脑的系统时间
select SYSDATETIME()

---------显示在1988年出生的人
select *from zuoye where YEAR(shengri)=1998

---------显示所有人的名字跟生日

select xingming,YEAR(shengri)from zuoye

常用的 SQL 函数

标签:ar   使用   sp   数据   on   2014   art   bs   ad   

原文地址:http://www.cnblogs.com/2041388565m/p/4122869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!