Transact-SQL 編程語言提供三種函數(shù):
可以像 SQL 語句中表引用一樣使用。有關(guān)這些函數(shù)的列表的更多信息,請參見行集函數(shù)。
對一組值操作,但返回單一的匯總值。有關(guān)這些函數(shù)的列表的更多信息,請參見聚合函數(shù)。
對單一值操作,返回單一值。只要表達(dá)式有效即可使用標(biāo)量函數(shù)。下表列出了標(biāo)量函數(shù)的分類。
函數(shù)分類 | 解釋 |
---|---|
配置函數(shù) | 返回當(dāng)前配置信息。 |
游標(biāo)函數(shù) | 返回游標(biāo)信息。 |
日期和時(shí)間函數(shù) | 對日期和時(shí)間輸入值執(zhí)行操作,返回一個(gè)字符串、數(shù)字或日期和時(shí)間值。 |
數(shù)學(xué)函數(shù) | 對作為函數(shù)參數(shù)提供的輸入值執(zhí)行計(jì)算,返回一個(gè)數(shù)字值。 |
元數(shù)據(jù)函數(shù) | 返回有關(guān)數(shù)據(jù)庫和數(shù)據(jù)庫對象的信息。 |
安全函數(shù) | 返回有關(guān)用戶和角色的信息。 |
字符串函數(shù) | 對字符串(char 或 varchar)輸入值執(zhí)行操作,返回一個(gè)字符串或數(shù)字值。 |
系統(tǒng)函數(shù) | 執(zhí)行操作并返回有關(guān) Microsoft® SQL Server™ 中的值、對象和設(shè)置的信息。 |
系統(tǒng)統(tǒng)計(jì)函數(shù) | 返回系統(tǒng)的統(tǒng)計(jì)信息。 |
文本和圖像函數(shù) | 對文本或圖像輸入值或列執(zhí)行操作,返回有關(guān)這些值的信息。 |
SQL Server 2000 的內(nèi)置函數(shù)可以是確定的也可以是不確定的。如果任何時(shí)候用一組特定的輸入值調(diào)用內(nèi)置函數(shù),返回的結(jié)果總是相同的,則這些內(nèi)置函數(shù)為確定的。如果每次調(diào)用內(nèi)置函數(shù)時(shí)即使用的是相同的一組特定輸入值,返回的結(jié)果不總是相同的,則這些內(nèi)置函數(shù)為不確定的。
函數(shù)的確定性將規(guī)定函數(shù)是否可用在索引計(jì)算列和索引視圖中。索引掃描必須始終生成一致的結(jié)果。因而,只有確定性函數(shù)才能用來定義將編制索引的計(jì)算列和視圖。
配置、游標(biāo)、元數(shù)據(jù)、安全和系統(tǒng)統(tǒng)計(jì)函數(shù)不具有確定性。此外,下列內(nèi)置函數(shù)也始終為不確定的:
@@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 |
使用字符串輸入并返回字符串輸出的函數(shù)對輸出使用輸入字符串的排序規(guī)則。
使用非字符輸入并返回字符串的函數(shù)對輸出使用當(dāng)前數(shù)據(jù)庫的默認(rèn)排序規(guī)則。
使用多個(gè)字符串輸入并返回字符串的函數(shù),使用排序規(guī)則的優(yōu)先順序規(guī)則設(shè)置輸出字符串的排序規(guī)則。有關(guān)更多信息,請參見排序規(guī)則的優(yōu)先順序。
相關(guān)文章