📜  如何在SQL中创建函数

📅  最后修改于: 2020-11-12 00:49:12             🧑  作者: Mango

如何在SQL中创建函数?

SQL具有许多用于执行数据计算的内置函数。 SQL提供了内置函数来执行操作。 SQL的一些有用功能是执行数学计算,字符串连接和子字符串等。

SQL函数分为两部分:

  • 汇总功能
  • 标量函数

SQL聚合函数

SQL Aggregate函数返回一个从值计算得出的值。

  • AVG():返回列的平均值。
  • COUNT():返回表中的行数。
  • FIRST():返回列的第一个值。
  • LAST():返回最后一个值
  • MAX():返回列的最大值。
  • MIN():返回列的最小值。
  • SUM():返回表的行总和。

SQL标量函数

SQL Scalar函数根据输入值返回单个值。

标量函数:

  • UCASE():它将数据库字段转换为大写。
  • LCASE():它将字段转换为小写。
  • MID():它从文本字段中提取字符。
  • LEN():它返回文本字段的长度。
  • ROUND():将数字字段四舍五入到小数位数。
  • NOW():返回当前日期和时间。
  • FORMAT():格式化字段的显示方式。

汇总功能

在对一组值进行计算之后,聚合函数返回单个值。一些汇总功能将在下面说明。

AVG功能

在计算数字列中的值之后,AVG()返回数据库的平均值。

句法 :

SELECT AVG(column_name) FROM table_name

使用AVG()函数

考虑以下Emp表:

以下SQL计算雇员的平均工资。

SELECT avg(salary) from Emp;

结果:

COUNT()函数

Count返回数据库中存在的行数,它是基于条件还是不基于条件。

它的基本语法是

SELECT COUNT(column_name) FROM table-name

使用COUNT()函数

考虑以下Emp表:

SQL查询以计算满足条件的行数。

SELECT COUNT(name) FROM Emp WHERE salary = 10000;

输出:

COUNT个示例(不同)

考虑以下Emp表:

SQL查询为:

SELECT COUNT(DISTINCT salary) FROM emp;

输出:

FIRST()函数

该函数返回指定列的第一个值。

句法:

SELECT FIRST(column_name) FROM table-name;

使用FIRST()函数

考虑以下Emp表:

SQL查询将是:

SELECT FIRST(salary) FROM EMP;

输出:

LAST()函数

LAST函数返回所选列的返回最后一个值。

LAST函数的语法为:

SELECT LAST(column_name) FROM table-name;

使用LAST()函数

考虑以下Emp表:

SQL查询是:

SELECT LAST(salary) FROM emp;

输出:

MAX()函数

MAX()函数从表的选定列中返回最大值。

句法:

SELECT MAX(column_name) from table-name;

考虑以下Emp表:

以下SQL查询获取最高薪水。

SELECT MAX(salary) FROM emp;

输出:

MIN()函数

MIN函数返回所选列的最小值。

MIN函数的语法:

SELECT MIN(column_name) from table-name;

使用MIN()函数

考虑下面的Emp表:

SQL查询找到最低工资:

SELECT MIN(salary) FROM emp;

输出:

SUM()函数

SUM()函数返回指定列的总数。

SUM的语法:

SELECT SUM (column_name) from table-name;

参见下面的Emp表

工资总额为:

SELECT SUM(salary) FROM emp;

输出:

标量函数

标量函数从输入值返回单个值。下面给出了一些标量函数:

UCASE()函数

UCASE()将字符串列的值转换为大写(大写)字符。

句法

SELECT UCASE(column_name) from table-name;

使用UCASE()函数

考虑下面的Emp表:

UCASE的SQL查询:

SELECT UCASE(name) FROM emp;

结果:

LCASE()函数

LCASE()函数用于将字符串列的值转换为小写。

LCASE的语法:

SELECT LCASE(column_name) FROM table-name;

使用LCASE()函数

考虑下面的Emp表

用于将字符串值转换为小写的SQL查询:

SELECT LCASE(name) FROM emp;

输出:

MID()函数

MID()函数用于从表中的列值提取子字符串。

MID函数的语法为:

SELECT MID(column_name, start, length) from table-name;

使用MID()函数

考虑以下Emp表:

以下SQL查询返回从第二个字符开始的子字符串。

SELECT MID(name,2,2) FROM emp;

输出:

ROUND()函数

ROUND()函数用于将数字字段四舍五入为最接近的整数。用于小数点。

句法:

SELECT ROUND(column_name, decimals) from table-name;

使用ROUND()函数

考虑以下Emp表:

以下SQL查询将“工资金额”列四舍五入。

SELECT ROUND(salary) from emp;

输出: