`
rimoer
  • 浏览: 98841 次
  • 性别: 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

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

分享到:
评论

相关推荐

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

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

    特殊函数计算手册_特殊函数计算手册_特殊函数_

    这份"特殊函数计算手册"涵盖了多种特殊的数学函数,包括贝塞尔函数和开尔文函数等,旨在为用户提供一个详尽的参考指南,帮助他们理解和应用这些函数。 一、特殊函数概述 特殊函数是一类具有特定性质的数学函数,...

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

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

    php4中文函数手册

    Apache特定函数库 图形函数库 GNU记录函数库 数组函数库 IMAP,POP3和NNTP函数库 Perl相容正规表达函数库 拼字检查函数库 LDAP函数库 正规表达函数库 BC高精准度函数库 邮件函数库 信号与共享记忆体函数库 历法...

    WinCC标准函数C语言

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

    构造函数与析构函数

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

    MATLAB核函数算法

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

    wincc 标准函数手册

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

    Excel函数手册大全-完整版

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

    WindowsAPI函数参考手册.pdf是中文功能函数书籍

    《WindowsAPI函数参考手册》是2002年人民邮电出版社出版的图书,作者是《windowsapI函数参考手册》组。《Windows API 函数参考手册》是关于Microsoft Win32 API函数的完整参考手册。书中详细介绍了每一个Win32 API...

    lwip的回调函数学习笔记与相关函数释疑

    lwip的回调函数学习笔记与相关函数释疑 lwip 是一个轻量级的TCP/IP协议栈,广泛应用于嵌入式系统中。在lwip中,回调函数是一种重要的机制,用于处理网络事件和数据传输。本文将详细介绍lwip的回调函数学习笔记与...

    Citect组态软件Cicode函数

    此外,Cicode函数还包括通信函数、设备函数、显示函数、DLL函数、错误函数、事件函数、文件函数、格式函数、FTP函数、模糊逻辑函数、组函数、图形函数、I/O设备函数、键盘函数、邮件函数、数学函数、杂项函数、页面...

    C++非静态成员函数完全可以作为线程函数

    一般地,线程要读写类的私有成员变量,只有两种方法:将全局函数声明为类友元friend,或者使用静态的成员函数static。那非静态的成员函数呢?一般地方都说的是,不行,做不了。。。为什么不行?都是代码区的代码,...

    PHP函数 -函数的高级用法.ppt

    * PHP函数 -----函数的高级用法 课程内容 可变函数 引用函数返回值 函数的嵌套调用 函数的递归调用 回调函数 一、可变函数 一个变量的值可以为另一个变量的名称。此外,一个变量的值还可以是一个函数的名称,这就是...

    MT4编程之函数大全。

    MT4编程之函数大全 MT4编程之函数大全是MT4平台上的一系列函数大全,用于EA编程、智能交易、脚本和客户指标等。这些函数可以帮助开发者快速处理图表中的价格状态、变量设定、数据应用等。 Ask函数:Ask函数返回...

    详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...

    C语言标准函数库详解.pdf

    C语言标准函数库详解 C语言标准函数库是C语言中提供的一组预定义的函数,用于实现各种常见的操作,如输入输出、数学运算、字符串处理、时间日期处理等。这些函数库是C语言的基础组件,掌握这些函数库的使用是C语言...

    ABAP 常用函数总结

    ABAP 常用函数总结 ABAP 开发中,函数是非常重要的一部分,合理地使用函数可以大大提高开发效率和代码质量。本文总结了 ABAP 中常用的函数,包括日期计算、表操作、数据转换、权限检查、报表生成、PDF 转换、日期...

    C/C++详细函数大全

    《C/C++详细函数大全》是一部综合性的编程资源,涵盖了C和C++语言中的各种函数,旨在为学习者提供详尽的函数介绍、说明及代码示例。此资源源自某培训学校的教学材料,以CHM(Compiled HTML Help)格式呈现,这种格式...

    工程数学 复变函数 西安交大

    复变函数是工程数学中的一个重要分支,主要研究复数域上的解析函数及其性质。西安交通大学出版的《工程数学 复变函数》第四版是学习这一领域的经典教材。这本书旨在帮助学生理解和掌握复变函数的基本理论,同时提供...

Global site tag (gtag.js) - Google Analytics