SQL语句(十一)函数查询

(十一)函数查询

1. 聚合函数

  • 对一组值进行计算,得到一个返回值

  • SUM(), 求和

  • AVG(), 求平均

  • MIN(), 求最小

  • MAX(), 求最大

  • COUNT(), 计数,即个数

--例1 求所有学生的平均年龄
Select AVG(sage) AS 平均 FROM Student

--求所有学生的最大、、最小、平均年龄和人数
Select MAX(sage) AS 最大, MIN(sage) AS 最小, AVG(Sage) AS 平均 ,COUNT(*) AS 人数
FROM Student

--例3 求航天班所有学生的最大、最小、平均年龄和人数
Select MAX(sage) AS 最大, MIN(sage) AS 最小, AVG(Sage) AS 平均 ,COUNT(*) AS 人数
FROM Student
WHERE sclass = '航天'

2. 类型转换函数

  • CONVERT()

    • CONVERT(datatype, expression [, style])

    • datatype : 目标类型

    • expression : 表达式, 把这个表达式的值转换成 datatype 这种类型

    • [, style], datatype 是日期型时需要,style是日期的 格式代号

--格式转换函数

--例4 整数转字符串
SELECT CONVERT(varchar, 120)

--例5 实数转字符串
SELECT CONVERT(varchar, 120.12)

--例6 字符串转换为整数
SELECT CONVERT(int, '120')

--例7 字符串转实数
SELECT CONVERT(decimal(7, 5), '3.14159')

--例8 日期转换字符串
SELECT CONVERT(char, GETDATE())

--例9 日期转yy.mm.dd型字符串
SELECT CONVERT(char, getdate(), 102)

--例10 日期转yy/mm/dd型字符串
SELECT CONVERT(char, getdate(), 111)

--例11 字符串转日期
SELECT CONVERT(DATE, '20160510')

SELECT CONVERT(DATE, '2016/05/10')

SELECT CONVERT(DATE, '2016-05-10')

SELECT CONVERT(DATE, '5/10/2016')

2. 日期型函数

  • GETDATE() 获取当前日期和时间

    • SELECT GETDATE()
  • DATEADD() 给日期增加年、月、日或时间

    • DATEADD(part, number, date)
    • date : 日期
    • number : 数
    • part , 日期的哪部分
      • year, 年 ; month, 月; day, 日
      • hour , minute , second
  • DATEDIFF() 两个日期相减

    • DATEDIFF(part, date1, date2)

    • date2 和 date1 在part上 相减

    • part

      • year, 年 ; month, 月; day, 日

      • hour , minute , second

  • GETNAME(part, date) 获得date的part部分,已字符串返回

--例13 日期在某部分加

SELECT DATEADD(year, 0, '2010/5/10 10:10:10.100')
--
select dateadd(year, 5, '2010/5/10 10:10:10.100')
--
select dateadd(day, 5, '2010/5/10 10:10:10.100')
--
select dateadd(second, 5, '2010/5/10 10:10:10.100')

--在表中出生日期加5
Select DateAdd(year, 5, sbirthday)
FROM Student

--例14 日期在某部分减
Select DateDiff(year, '2010-1-1', '2016-1-1')

Select DateDiff(year, sbirthday,  GetDate())
From Student

--例15 获得日期的一部分
Select DateName(month, GetDate())

--得到出生年
Select sno, sname, Sdept,
    DateName(year,  sbirthday) As 出生年份
    From Student
    WHERE Sdept = 'CS'

4. 数学函数

 

5. 字符串处理函数

SELECT * 
FROM Student
Where rtrim(ltrim(Sdept)) = 'CS'  -- 将CS前面和后面的空格都截取掉
原文地址:https://www.cnblogs.com/douzujun/p/6589634.html