Transact-SQL 编程语言提供三种函数:
可以像 SQL 语句中表引用一样使用。有关这些函数的列表的更多信息,请参见行集函数。
对一组值操作,但返回单一的汇总值。有关这些函数的列表的更多信息,请参见聚合函数。
对单一值操作,返回单一值。只要表达式有效即可使用标量函数。下表列出了标量函数的分类。
函数分类 | 解释 |
---|---|
配置函数 | 返回当前配置信息。 |
游标函数 | 返回游标信息。 |
日期和时间函数 | 对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值。 |
数学函数 | 对作为函数参数提供的输入值执行计算,返回一个数字值。 |
元数据函数 | 返回有关数据库和数据库对象的信息。 |
安全函数 | 返回有关用户和角色的信息。 |
字符串函数 | 对字符串(char 或 varchar)输入值执行操作,返回一个字符串或数字值。 |
系统函数 | 执行操作并返回有关 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 |
使用字符串输入并返回字符串输出的函数对输出使用输入字符串的排序规则。
使用非字符输入并返回字符串的函数对输出使用当前数据库的默认排序规则。
使用多个字符串输入并返回字符串的函数,使用排序规则的优先顺序规则设置输出字符串的排序规则。有关更多信息,请参见排序规则的优先顺序。
相关文章