📜  SQL |函数(合计和标量函数)

📅  最后修改于: 2021-05-20 05:24:49             🧑  作者: Mango

为了对数据sql进行操作,sql具有许多内置函数,它们分为两个类别,并且在每个类别下又分为七个不同的函数。类别为:

  1. 汇总功能:
    这些函数用于根据列的值执行操作,并返回单个值。
    1. AVG()
    2. 数数()
    3. 第一的()
    4. 最后的()
    5. 最大限度()
    6. MIN()
    7. 和()
  2. 标量函数:
    这些函数基于用户输入,它们也返回单个值。
    1. UCASE()
    2. LCASE()
    3. 中()
    4. LEN()
    5. 圆形的()
    6. 现在()
    7. 格式()

学生表
截图(58)

汇总功能

  • AVG() :根据数字列中的值计算后返回平均值。
    句法:
    SELECT AVG(column_name) FROM table_name;
    

    查询:

    1. 计算学生的平均成绩。
      SELECT AVG(MARKS) AS AvgMarks FROM Students; 
      

      输出:

      AvgMarks
      80
    2. 计算学生的平均年龄。
      SELECT AVG(AGE) AS AvgAge FROM Students; 
      

      输出:

      AvgAge
      19.4
  • COUNT():用于计算SELECT语句中返回的行数。不能在MS ACCESS中使用。
    句法:
    SELECT COUNT(column_name) FROM table_name;
    

    查询:

    1. 计算学生总数。
      SELECT COUNT(*) AS NumStudents FROM Stuents;
      

      输出:

      NumStudents
      5
    2. 计算具有独特/不同年龄的学生人数。
      SELECT COUNT(DISTINCT AGE) AS NumStudents FROM Students;
      

      输出:

      NumStudents
      4
  • FIRST(): FIRST()函数返回所选列的第一个值。
    句法:
    SELECT FIRST(column_name) FROM table_name;
    

    查询:

    1. 从“学生”表中获取第一个学生的标记。
      SELECT FIRST(MARKS) AS MarksFirst FROM Students;
      

      输出:

      MarksFirst
      90
    2. 从“学生”表中获取第一个学生的年龄。
      SELECT FIRST(AGE) AS AgeFirst FROM Students;
      

      输出:

      AgeFirst
      19
  • LAST(): LAST()函数返回所选列的最后一个值。它只能在MS ACCESS中使用。
    句法:
    SELECT LAST(column_name) FROM table_name;
    

    查询:

    1. 从“学生”表中获取最后一个学生的分数。
      SELECT LAST(MARKS) AS MarksLast FROM Students;
      

      输出:

      MarksLast
      82
    2. 从“学生”表中获取最后一名学生的年龄。
      SELECT LAST(AGE) AS AgeLast FROM Students;
      

      输出:

      AgeLast
      18
  • MAX(): MAX()函数返回所选列的最大值。
    句法:
    SELECT MAX(column_name) FROM table_name;
    

    查询

    1. 从“学生”表中获取学生中的最高分数。
      SELECT MAX(MARKS) AS MaxMarks FROM Students;
      

      输出:

      MaxMarks
      95
    2. 从“学生”表中获取学生的最大年龄。
      SELECT MAX(AGE) AS MaxAge FROM Students;
      

      输出:

      MaxAge
      21
  • MIN(): MIN()函数返回所选列的最小值。
    句法:
    SELECT MIN(column_name) FROM table_name;
    

    查询:

    1. 从“学生”表中获取学生中的最低分数。
      SELECT MIN(MARKS) AS MinMarks FROM Students;
      

      输出:

      MinMarks
      50
    2. 从“学生”表中获取学生的最低年龄。
      SELECT MIN(AGE) AS MinAge FROM Students;
      

      输出:

      MinAge
      18
  • SUM(): SUM()函数返回所选列的所有值的总和。
    句法:
    SELECT SUM(column_name) FROM table_name;
    

    查询:

    1. 从“学生”表中获取学生的总成绩总和。
      SELECT SUM(MARKS) AS TotalMarks FROM Students;
      

      输出:

      TotalMarks
      400
    2. 从“学生”表中获取学生的总年龄总和。
      SELECT SUM(AGE) AS TotalAge FROM Students;
      

      输出:

      TotalAge
      97

标量函数

  • UCASE() :将字段的值转换为大写。
    句法:
    SELECT UCASE(column_name) FROM table_name;
    

    查询:

    1. 将学生姓名从表“学生”转换为大写。
      SELECT UCASE(NAME) FROM Students;
      

      输出:

      NAME
      HARSH
      SURESH
      PRATIK
      DHANRAJ
      RAM
  • LCASE() :它将字段的值转换为小写。
    句法:
    SELECT LCASE(column_name) FROM table_name;
    

    查询:

    1. 将学生姓名从表格“学生”转换为小写。
      SELECT LCASE(NAME) FROM Students;
      

      输出:

      NAME
      harsh
      suresh
      pratik
      dhanraj
      ram
  • MID(): MID()函数从文本字段中提取文本。
    句法:
    SELECT MID(column_name,start,length) AS some_name FROM table_name;
    
    specifying length is optional here, and start signifies start position ( starting from 1 )
    

    查询:

    1. 从“学生”表中获取学生姓名的前四个字符。
      SELECT MID(NAME,1,4) FROM Students; 
      

      输出:

      NAME
      HARS
      SURE
      PRAT
      DHAN
      RAM
  • LEN(): LEN()函数在文本字段中返回值的长度。
    句法:
    SELECT LENGTH(column_name) FROM table_name;
    

    查询:

    1. 从“学生”表中获取学生姓名的长度。
      SELECT LENGTH(NAME) FROM Students;
      

      输出:

      NAME
      5
      6
      6
      7
      3
  • ROUND(): ROUND()函数用于将数字字段四舍五入为指定的小数位数。注:许多数据库系统已对算术运算采用了IEEE 754标准,该标准指出,将任何数字.5舍入后,结果到最接近的偶数整数,即5.5和6.5都四舍五入为6。

    句法:

    SELECT ROUND(column_name,decimals) FROM table_name; 
    
    decimals- number of decimals to be fetched.
    

    查询:

    1. 从“学生”表中获取学生中的最高分数。
      SELECT ROUND(MARKS,0) FROM table_name; 
      

      输出:

      MARKS
      90
      50
      80
      95
      85
  • NOW(): NOW()函数返回当前系统日期和时间。
    句法:
    SELECT NOW() FROM table_name;
    

    查询:

    1. 正在获取当前系统时间。
      SELECT NAME, NOW() AS DateTime FROM Students; 
      

      输出:

      NAME DateTime
      HARSH 1/13/2017 1:30:11 PM
      SURESH 1/13/2017 1:30:11 PM
      PRATIK 1/13/2017 1:30:11 PM
      DHANRAJ 1/13/2017 1:30:11 PM
      RAM 1/13/2017 1:30:11 PM
  • FORMAT(): FORMAT()函数用于格式化字段的显示方式。
    句法:
    SELECT FORMAT(column_name,format) FROM table_name; 
    

    查询:

    1. 将当前日期格式设置为“ YYYY-MM-DD”。
      SELECT NAME, FORMAT(Now(),'YYYY-MM-DD') AS Date FROM Students; 
      

      输出:

      NAME Date
      HARSH 2017-01-13
      SURESH 2017-01-13
      PRATIK 2017-01-13
      DHANRAJ 2017-01-13
      RAM 2017-01-13