`
rimoer
  • 浏览: 100952 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

函数

 
阅读更多

函数

Transact-SQL 编程语言提供三种函数:

  • 行集函数

    可以像 SQL 语句中表引用一样使用。有关这些函数的列表的更多信息,请参见行集函数

  • 聚合函数

    对一组值操作,但返回单一的汇总值。有关这些函数的列表的更多信息,请参见聚合函数

  • 标量函数

    对单一值操作,返回单一值。只要表达式有效即可使用标量函数。下表列出了标量函数的分类。

    函数分类 解释
    配置函数 返回当前配置信息。
    游标函数 返回游标信息。
    日期和时间函数 对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值。
    数学函数 对作为函数参数提供的输入值执行计算,返回一个数字值。
    元数据函数 返回有关数据库和数据库对象的信息。
    安全函数 返回有关用户和角色的信息。
    字符串函数 对字符串(charvarchar)输入值执行操作,返回一个字符串或数字值。
    系统函数 执行操作并返回有关 Microsoft® SQL Server™ 中的值、对象和设置的信息。
    系统统计函数 返回系统的统计信息。
    文本和图像函数 对文本或图像输入值或列执行操作,返回有关这些值的信息。

函数确定性

SQL Server 2000 的内置函数可以是确定的也可以是不确定的。如果任何时候用一组特定的输入值调用内置函数,返回的结果总是相同的,则这些内置函数为确定的。如果每次调用内置函数时即使用的是相同的一组特定输入值,返回的结果不总是相同的,则这些内置函数为不确定的。

函数的确定性将规定函数是否可用在索引计算列和索引视图中。索引扫描必须始终生成一致的结果。因而,只有确定性函数才能用来定义将编制索引的计算列和视图。

配置、游标、元数据、安全和系统统计函数不具有确定性。此外,下列内置函数也始终为不确定的:

@@ERROR FORMATMESSAGE NEWID
IDENTITY GETANSINULL PERMISSIONS
@@ROWCOUNT GETDATE SESSION_USER
@@TRANCOUNT HOST_ID STATS_DATE
APP_NAME HOST_NAME SYSTEM_USER
CURRENT_TIMESTAMP IDENT_INCR TEXTPTR
CURRENT_USER IDENT_SEED TEXTVALID
DATENAME IDENTITY USER_NAME

函数排序规则

使用字符串输入并返回字符串输出的函数对输出使用输入字符串的排序规则。

使用非字符输入并返回字符串的函数对输出使用当前数据库的默认排序规则。

使用多个字符串输入并返回字符串的函数,使用排序规则的优先顺序规则设置输出字符串的排序规则。有关更多信息,请参见排序规则的优先顺序

<!--RELATEDTOPICSLIST-->

请参见

CREATE FUNCTION

确定性函数和非确定性函数

用户定义函数

配置函数

这些标量函数返回当前配置选项设置的信息。

@@DATEFIRST @@OPTIONS
@@DBTS @@REMSERVER
@@LANGID @@SERVERNAME
@@LANGUAGE @@SERVICENAME
@@LOCK_TIMEOUT @@SPID
@@MAX_CONNECTIONS @@TEXTSIZE
@@MAX_PRECISION @@VERSION
@@NESTLEVEL

所有配置函数都不具有确定性。每次用一组特定输入值调用它们时,返回的结果不总是相同的。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

游标函数

这些标量函数返回有关游标的信息。

@@CURSOR_ROWS

CURSOR_STATUS

@@FETCH_STATUS

所有游标函数都不具有确定性。每次用一组特定输入值调用它们时,返回的结果不总是相同的。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

日期和时间函数

这些标量函数对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值。

下表列出日期和时间函数以及它们的确定性属性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

函数 确定性
DATEADD 具有确定性
DATEDIFF 具有确定性
DATENAME 不具有确定性
DATEPART 除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。
DAY 具有确定性
GETDATE 不具有确定性
GETUTCDATE 不具有确定性
MONTH 具有确定性
YEAR 具有确定性

字符串函数

这些标量函数对字符串输入值执行操作,返回字符串或数字值。

ASCII NCHAR SOUNDEX
CHAR PATINDEX SPACE
CHARINDEX REPLACE STR
DIFFERENCE QUOTENAME STUFF
LEFT REPLICATE SUBSTRING
LEN REVERSE UNICODE
LOWER RIGHT UPPER
LTRIM RTRIM

除 CHARINDEX 和 PATINDEX 外的所有其它内置字符串函数都具有确定性。每次用一组给定的输入值调用它们时,都返回相同的值。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

数学函数

这些标量函数通常对作为参数提供的输入值执行计算,并返回一个数字值。

ABS DEGREES RAND
ACOS EXP ROUND
ASIN FLOOR SIGN
ATAN LOG SIN
ATN2 LOG10 SQUARE
CEILING PI SQRT
COS POWER TAN
COT RADIANS

<!--NOTE-->

说明算术函数(例如 ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS 和 SIGN)返回与输入值相同数据类型的值。三角函数和其它函数(包括 EXP、LOG、LOG10、SQUARE 和 SQRT)将输入值投影到 float 并返回 float 值。

<!--/NOTE-->

除了 RAND 外,所有数学函数都是确定性函数。每次用一组特定输入值调用它们时,所返回的结果相同。仅当指定种子参数时,RAND 才具有确定性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

元数据函数

这些标量函数返回有关数据库和数据库对象的信息。

COL_LENGTH fn_listextendedproperty
COL_NAME FULLTEXTCATALOGPROPERTY
COLUMNPROPERTY FULLTEXTSERVICEPROPERTY
DATABASEPROPERTY INDEX_COL
DATABASEPROPERTYEX INDEXKEY_PROPERTY
DB_ID INDEXPROPERTY
DB_NAME OBJECT_ID
FILE_ID OBJECT_NAME
FILE_NAME OBJECTPROPERTY
FILEGROUP_ID @@PROCID
FILEGROUP_NAME SQL_VARIANT_PROPERTY
FILEGROUPPROPERTY TYPEPROPERTY
FILEPROPERTY

所有元数据函数都具有不确定性。每次用一组特定的输入值调用它们时,所返回的结果不总是相同。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

安全函数

这些安全函数返回有关用户和角色的信息。

fn_trace_geteventinfo IS_SRVROLEMEMBER
fn_trace_getfilterinfo SUSER_SID
fn_trace_getinfo SUSER_SNAME
fn_trace_gettable USER_ID
HAS_DBACCESS USER
IS_MEMBER

所有的安全函数都具有不确定性。每次用一组特定的输入值调用它们时,所返回的结果不总是相同。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

系统函数

这些标量函数对 Microsoft® SQL Server™ 中的值、对象和设置进行操作并返回有关信息。

下表列出系统函数及其确定性属性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

函数 确定性
APP_NAME 不具有确定性
CASE 表达式 具有确定性
CAST 和 CONVERT 除非与 datetimesmalldatetimesql_variant 一起使用,其它时候都具有确定性。
COALESCE 具有确定性
COLLATIONPROPERTY 不具有确定性
CURRENT_TIMESTAMP 不具有确定性
CURRENT_USER 不具有确定性
DATALENGTH 具有确定性
@@ERROR 不具有确定性
fn_helpcollations 具有确定性
fn_servershareddrives 不具有确定性
fn_virtualfilestats 不具有确定性
FORMATMESSAGE 不具有确定性
GETANSINULL 不具有确定性
HOST_ID 不具有确定性
HOST_NAME 不具有确定性
IDENT_CURRENT 不具有确定性
IDENT_INCR 不具有确定性
IDENT_SEED 不具有确定性
@@IDENTITY 不具有确定性
IDENTITY(函数) 不具有确定性
ISDATE 只有与 CONVERT 函数一起使用,指定 CONVERT 样式参数且样式参数不等于 0、100、9 或 109 时才具有确定性。样式 0 和 100 使用默认格式 mon dd yyyy hh:miAM(或 PM)。样式 9 和 109 使用默认格式加毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)。
ISNULL 具有确定性
ISNUMERIC 具有确定性
NEWID 不具有确定性
NULLIF 具有确定性
PARSENAME 具有确定性
PERMISSIONS 不具有确定性
@@ROWCOUNT 不具有确定性
ROWCOUNT_BIG 不具有确定性
SCOPE_IDENTITY 不具有确定性
SERVERPROPERTY 不具有确定性
SESSIONPROPERTY 不具有确定性
SESSION_USER 不具有确定性
STATS_DATE 不具有确定性
SYSTEM_USER 不具有确定性
@@TRANCOUNT 不具有确定性
USER_NAME 不具有确定性

系统统计函数

这些标量函数返回系统的统计信息。

@@CONNECTIONS @@PACK_RECEIVED
@@CPU_BUSY @@PACK_SENT
fn_virtualfilestats @@TIMETICKS
@@IDLE @@TOTAL_ERRORS
@@IO_BUSY @@TOTAL_READ
@@PACKET_ERRORS @@TOTAL_WRITE

所有系统统计函数都不具有确定性。每次用一组特定的输入值调用它们时,所返回的结果不总是相同。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

文本和图像函数

这些标量函数对文本或图像输入值或列执行操作,返回有关这些值的信息。

PATINDEX

TEXTPTR

TEXTVALID

这些文本和图像函数都是不确定性函数,每次调用它们时,即使是用相同的一组输入值,也可能返回不同的结果。有关函数确定性的更多信息,请参见确定性函数和非确定性函数

分享到:
评论

相关推荐

    常用测试函数Rastrigin函数,函数图像,函数代码

    Rastrigin函数有几个局部极小值。它是高度多模态的,但最小值的位置是规则分布的,函数谷底不明显,次峰依次接近主谷底角度,可以很好测试各种算法的全局收敛能力,是测试智能启发式算法性能的,很多初级算法容易...

    chapter03_matlab格林函数_格林函数_格林函数MATLAB_格林函数的分析_bargrz_

    在本资料中,主题聚焦于MATLAB环境下的格林函数及其分析。格林函数是解决线性微分方程的重要工具,特别是在边界值问题中,它能够有效地求解非齐次方程。MATLAB作为一款强大的数值计算软件,为格林函数的计算和可视化...

    函数式编程思维.pdf_函数式编程_函数式编程思维_

    例如,高阶函数(接受函数作为参数或返回函数的函数)允许对函数进行操作和组合,而λ函数(匿名函数)则提供了一种简洁的定义小功能的方式。 在函数式编程中,数据结构和算法也扮演着重要角色。例如,列表推导式...

    隶属函数在MATLAB中应用_隶属度函数_隶属函数matlab_隶属度_隶属函数在MATLAB中应用_

    在MATLAB中,隶属函数是模糊逻辑系统中的关键概念,用于描述模糊集合中元素的“模糊程度”。这篇详尽的讲解将深入探讨如何在MATLAB环境中编写和计算隶属函数,以及它们在实际应用中的作用。 一、隶属度函数概念 ...

    详解在C++中显式默认设置的函数和已删除的函数的方法

    已删除的函数还可为您提供简单语言,以防止所有类型的函数(特殊成员函数和普通成员函数以及非成员函数)的参数中出现有问题的类型提升,这会导致意外的函数调用。 显式默认设置的函数和已删除函数的好处 在 C++ 中...

    CEC2005.rar_cec 2005_cec2005 matlab_多峰测试函数_测试函数CEC2005_测试函数MATLA

    CEC2005是Competition on Evolutionary Computation(进化计算竞赛)在2005年举办的一次专门针对多峰优化问题的测试函数集合。这个竞赛旨在推动全局优化算法的发展,特别是针对那些具有复杂多模态性质的优化问题。...

    如何让类的成员函数作为回调函数

    ### 如何让类的成员函数作为回调函数 #### 一、理解回调函数的特点及应用场景 在编程领域,回调函数是一种非常常见的设计模式,它允许程序员将一个函数作为参数传递给另一个函数,在适当的时候由后者来调用这个...

    ArcGIS教程:半变异函数与协方差函数

    半变异函数和协方差函数是地理信息系统(GIS)中地统计分析的重要工具,尤其在ArcGIS的Geostatistical Analyst模块中被广泛应用于空间数据的建模和预测。这两种函数都是用来量化空间数据的统计相关性和空间结构,即...

    构造函数与析构函数

    每个类都具有构造函数和析构函数。其中,构造函数在定义对象时被调用,析构函数在对象释放时被调用。如果用户没有提供构造函数和析构函数,系统将提供默认的构造函数和析构函数。 1.构造函数 构造函数是一个与类同名...

    C/C++/Linux函数函数插桩(打桩)指南

    1. 函数插桩的基本概念 插桩是一种软件工程中的技术,主要用于在程序中添加额外的代码段,以便在特定的执行点收集信息、监控行为或执行特定操作。这一技术通常用于软件测试、性能分析、调试和日志记录。在C/C++编程...

    WinCC标准函数C语言

    WinCC标准函数C语言 WinCC标准函数是WinCC系统中的一个重要组件,提供了一系列的标准函数,用于控制和操作WinCC报警控件。这些函数可以根据需要进行修改和扩展,还可以创建自己的标准函数。 Alarm函数集是WinCC...

    MATLAB核函数算法

    在机器学习领域,核函数(Kernel Function)是一种强大的工具,用于将原始数据转换到高维空间,以便在非线性可分的情况下实现分类或回归。MATLAB作为一种强大的数学计算软件,提供了丰富的核函数库,使得研究人员和...

    特殊函数计算手册

    由特定微分方程的解定义的特殊函数有正交多项式(如Chebyshev、Laguerre和Hermite多项式),Gamma函数,Legendre函数类,Bessel函数(如球Bessel、变型Bessel、Ricatti-Bessel函数等),Kelvin函数,Airy函数,...

    maxwell常用函数.txt

    函数名称 功能描述 表达式用法 abs 绝对值函数 abs(x) 6 sin 正弦函数 sin(x) cos 余弦函数 cos(x) tan 正切函数 tan(x) asin 反正弦函数 asin(x) acos 反余弦函数 acos(x) atan 反正切函数 atan(x) atan2 ...

    DB2常用函数详解,进100个常用函数

    "DB2常用函数详解" DB2常用函数是数据库管理系统DB2中的一些基本函数,用于实现各种数据操作和处理。这些函数可以分为多种类型,包括字符串函数、类型转换函数、日期时间函数等。 字符串函数 字符串函数是DB2中最...

    算法测试基准函数

    在IT领域,尤其是在优化算法和人工智能的研究中,测试基准函数起着至关重要的作用。"算法测试基准函数"是一组专门设计用于评估和比较不同智能算法性能的数学模型。这些函数通常具有不同的特性,如多模态、非线性、...

    PostgreSQL简单函数创建

    本文将深入探讨如何在PostgreSQL中创建自定义函数,特别是在使用C语言编写动态库来实现这一功能时的简单示例。 首先,我们需要理解自定义函数在PostgreSQL中的作用。自定义函数允许用户根据特定需求扩展数据库的...

    Excel函数手册大全-完整版

    本资源汇总了 Excel 函数的使用详解,涵盖日期与时间函数、数学函数、字符串函数、逻辑函数、查找函数、数据库函数等多个方面,共计 174 个函数,通过 194 个经典案例,帮助用户快速掌握 Excel 函数的使用方法。...

    输入圆的半径求周长和面积。程序由三个函数组成:主函数进行输入输出和函数调用,perimeter函数求周长,area函数求面积。

    程序将由三个函数组成:主函数、perimeter函数和area函数。 标题解析 标题“输入圆的半径求周长和面积”表明了程序的主要目的,即根据输入的圆半径计算圆的周长和面积。 描述解析 描述部分告诉我们,程序由三个...

    wincc 标准函数手册

    WinCC标准函数手册 WinCC标准函数手册是一本详细介绍WinCC标准函数的指南,旨在帮助用户快速了解和掌握WinCC标准函数的使用方法和技巧。本手册涵盖了WinCC标准函数的基本概念、使用方法、参数设置、实践示例等多...

Global site tag (gtag.js) - Google Analytics