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