• 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前面和后面的空格都截取掉
  • 相关阅读:
    Java学习:冒泡排序和选择排序
    Java学习:多态
    Java学习:抽象类与接口
    Java学习:继承
    Java学习:标准类
    Java学习:方法简介
    传参的本质
    new 关键字做的事
    一个引用类型的对象占多大堆空间
    栈中空间大小
  • 原文地址:https://www.cnblogs.com/douzujun/p/6589634.html
Copyright © 2020-2023  润新知