热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQL函数的类别

SQL函数的类别原文:https://www.geeksfor

SQL 函数的类别

原文:https://www.geeksforgeeks.org/categories-of-sql-functions/

SQL 函数被开发到甲骨文数据库中,可用于各种合适的 SQL 语句。SQL 中的函数和 Pl/SQL 中的用户定义函数是不同的。

在查询中,如果调用的 SQL 函数的参数数据类型不同于函数预期的数据类型,则 Oracle 会在执行 SQL 函数之前将参数数据类型转换为预期的数据类型,如果调用的函数参数为 null,则返回 null。

功能类别:

1. Single_row_function
2. Aggregate_function
3. Analytic_function
4. Model_function
5. User_defined_function
6. Scalar functions

其中一些功能解释如下。


  • 单行函数:
    单行函数是为查询的表或视图的每一行返回一个结果行的函数。该函数存在于选择列表、WHERE 子句、START WITH、CONNECT BY 子句和 HAVING 子句中。

    • 数值函数

    • 字符函数

    • 数据挖掘函数

    • 日期时间函数

    • 转换函数

    • 集合函数

    • XML _ 函数



  • Aggregate function: 
    While using Aggregate function it will returns single row result based on group of rows, instead of single rows.Aggregate function appears in Select lists and ORDER BY and HAVING clause.They are usually used with GROUP BY clause and SELECT Statements. 

    如果使用 GROUP BY 子句,则 Oracle 会将选择列表中的聚合函数应用于查询的表或视图中的所有行。

    除分组和计数(*)之外的所有聚合函数都忽略空值。您也可以在聚合函数的参数中使用 NVL 函数来替换空值。
    还可以嵌套聚合函数。例如:-



SELECT AVG(MAX(salary)
FROM employees
GROUP BY department_id
AVG(MAX(salary))
----------------
10925

最常用的聚合函数是 AVG、计数、密集等级、最大值、最小值、等级、总和


  • Analytic function: 
    Analytic function calculate aggregate value based on group of rows.Difference between Analytic function and Aggregate function is they return multiple rows for each group. The group of rows is termed as window and it is defined by analytic_clause

    分析函数是查询中执行的最后一组操作,除了最后的 ORDER BY 子句。


    • 分析子句

    • Query _ partition _ 子句

    • Order_by 子句

    • 开窗子句

    • Model Functions: 
      Within SELECT statements, Model Functions can be used with model_clause

    模型功能有:


    • 履历

    • 迭代 _ 编号

    • 佩森诺夫

    • 礼物

    • 以前的

    • User defined function: 
      You can use User defined functions in PL/SQL or Java to provide functionality that is not available in SQL or SQL built in functions. SQL functions and User defined functions can be appear anywhere, that is, wherever an expression occur. 

    例如,它可以用于:


    • Select 语句的 SELECT 列表。

    • WHERE 子句的条件。

    • 连接方式、订购方式、开始方式和分组方式

    • INSERT 语句的 VALUES 子句。

    • UPDATE 语句的 SET 子句。
      基本上我们使用 CREATE Function 在 SQL 中创建用户定义的函数。



  • 标量函数:
    可以在 SQL 中使用标量函数根据输入值返回单个值。



Input: SELECT UCASE(geeksforgeeks) ;
Output: GEEKSFORGEEKS

最常用的 Scalar 函数是 UCASE()将字段转换为大写,LCASE()将字段转换为小写,LEN()查找文本字段的长度,ROUND()对指定的小数位数进行舍入,NOW()查找当前系统日期和时间。


推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
author-avatar
切尔小妹_288
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有