当前位置:文档之家› 常用T-SQL数据库函数

常用T-SQL数据库函数

常用T-SQL数据库函数1. 聚合函数(1) A VG函数功能返回组中值的平均值。

空值将被忽略语法A VG ( [ ALL | DISTINCT ] expression )(2) MAX函数功能返回表达式的最大值语法MAX ( [ ALL | DISTINCT ] expression )(3) MIN函数功能返回表达式的最小值语法MIN ( [ ALL | DISTINCT ] expression )(4) SUM函数功能返回表达式中所有值的和,或只返回DISTINCT 值。

SUM 只能用于数字列。

空值将被忽略语法SUM ( [ ALL | DISTINCT ] expression )(5) COUNT函数功能返回组中项目的数量语法COUNT ( { [ ALL | DISTINCT ] expression ] | * } )2. 时间和日期函数(1) DATEADD函数功能在向指定日期加上一段时间的基础上,返回新的datetime值语法DATEADD ( datepart , number, date )样例SELECT DATEADD(day, 21, pubdate) AS timeframe FROM titles(2) DATEPART函数功能返回代表指定日期的指定日期部分的整数语法DATEPART ( datepart , date )样例SELECT DATEPART(month, GETDATE()) AS …Month Number‟(3) DAY函数功能返回代表指定日期的天的日期部分的整数语法DAY ( date )(4) GETDATE函数功能按datetime 值的Microso ft® SQL Server™ 标准内部格式返回当前系统日期和时间语法GETDATE ( )(5) GETUTCDATE函数功能返回表示当前UTC 时间(世界时间坐标或格林尼治标准时间)的datetime 值。

当前的UTC 时间得自当前的本地时间和运行SQL Server 的计算机操作系统中的时区设置语法GETUTCDATE()(6) MONTH函数功能返回代表指定日期月份的整数语法MONTH ( date )样例SELECT “Month Number” = MONTH(‟03/12/1998′)(7) YEAR函数功能返回表示指定日期中的年份的整数语法YEAR ( date )3. 数学函数(1) ABS函数功能返回给定数字表达式的绝对值语法ABS ( numeric_expression )(2) RAND函数功能返回0 到1 之间的随机float 值语法RAND ( [ seed ] ) :seed是给出种子值或起始值的整型表达式(tinyint、smallint 或int)(3) ROUND函数功能返回数字表达式并四舍五入为指定的长度或精度语法ROUND ( numeric_expression , length [ , function ] )(4) FLOOR函数功能返回小于或等于所给数返回小于或等于所给数字表达式的最大整数字表达式的最大整数语法FLOOR ( numeric_expression )(5) SIGN函数功能返回给定表达式的正(+1)、零(0) 或负(-1) 号语法SIGN ( numeric_expression )(6) SQUARE函数功能返回给定表达式的平方语法SQUARE ( float_expression )样例3. 系统函数(1) CAST 和CONVERT函数功能将某种数据类型的表达式显式转换为另一种数据类型。

CAST 和CONVERT 提供相似的功能语法CAST ( expression AS data_type )CONVERT (data_type[(length)], expression [, style])样例DECLARE @myval decimal (5, 2)SET @myval = 193.57SELECT CAST(CAST(@myval AS varbinary(20)) AS decimal(10,5))– Or, using CONVERTSELECT CONVERT(decimal(10,5), CONVERT(varbinary(20), @myval))(2) COALESCE函数功能返回其参数中第一个非空表达式语法COALESCE ( expression [ ,...n ] )样例SELECT CAST(COALESCE(hourly_wage * 40 * 52, salary, commission * num_sales) AS money) AS …Total Salary‟ FROM wages(3) DATALENGTH函数功能返回任何表达式所占用的字节数语法DATALENGTH ( expression )(4) @@ERROR函数功能返回最后执行的Transact-SQL 语句的错误代码语法@@ERROR样例IF @@ERROR = 547print “A check constraint violation occurred”(5) ISDATE函数功能确定输入表达式是否为有效的日期语法ISDATE ( expression )(6) ISNULL函数功能使用指定的替换值替换NULL语法ISNULL ( check_expression , replacement_value )(7) ISNUMERIC函数功能确定表达式是否为一个有效的数字类型语法ISNUMERIC ( expression )(8) NULLIF函数功能如果两个指定的表达式相等,则返回空值语法NULLIF ( expression , expression )(9) @@ROWCOUNT函数功能返回受上一语句影响的行数语法@@ROWCOUNT4. 游标函数(1) @@CURSOR_ROWS函数功能返回连接上最后打开的游标中当前存在的合格行的数量。

为提高性能,Microsoft® SQL Server™ 可以异步填充大键集和静态游标。

可调用@@CURSOR_ROWS,以确定当它被调用时,符合游标的行的数目被进行了检索语法@@CURSOR_ROWS样例SELECT @@CURSOR_ROWSDECLARE authors_cursor CURSOR FORSELECT au_lname FROM authorsOPEN authors_cursorFETCH NEXT FROM authors_cursorSELECT @@CURSOR_ROWSCLOSE authors_cursorDEALLOCATE authors_cursor(2) @@FETCH_STATUS函数功能返回被FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态语法@@FETCH_STATUS样例DECLARE Employee_Cursor CURSOR FORSELECT LastName, FirstName FROM Northwind.dbo.EmployeesOPEN Employee_CursorFETCH NEXT FROM Employee_CursorWHILE @@FETCH_STATUS = 0BEGINFETCH NEXT FROM Employee_CursorENDCLOSE Employee_CursorDEALLOCATE Employee_Cursor5. 元数据函数(1) COL_LENGTH函数功能返回列的定义长度(以字节为单位)语法COL_LENGTH ( …table‟ , …column‟ )(2) COL_NAME函数功能返回数据库列的名称,该列具有相应的表标识号和列标识号语法COL_NAME ( table_id , column_id )(3) INDEX_COL函数功能返回索引列名称语法INDEX_COL ( …table‟ , index_id , key_id )(3) DB_NAME函数功能返回数据库名语法DB_NAME ( database_id )(3) OBJECT_ID函数功能返回数据库对象标识号语法OBJECT_ID ( …object‟ )样例SELECT OBJECT_ID(‟pubs..authors‟)(4) OBJECT_NAME函数功能返回数据库对象名语法OBJECT_NAME ( object_id )(5) @@PROCID函数功能返回当前过程的存储过程标识符(ID)语法@@PROCID(6) TYPEPROPERTY函数功能返回有关数据类型的信息语法TYPEPROPERTY ( type , property )样例SELECT TYPEPROPERTY( …tinyint‟, …PRECISION‟)5. 字符串函数(1) ASCII函数功能返回字符表达式最左端字符的ASCII 代码值语法ASCII ( character_expression )(2) CHAR函数功能将int ASCII 代码转换为字符的字符串函数语法CHAR ( integer_expression )(3) CHARINDEX函数功能返回字符串中指定表达式的起始位置语法CHARINDEX ( expression1 , expression2 [ , start_location ] )参数expression1:一个表达式,其中包含要寻找的字符的次序。

expression1 是一个短字符数据类型分类的表达式。

expression2:一个表达式,通常是一个用于搜索指定序列的列。

expression2 属于字符串数据类型分类。

(4) DIFFERENCE函数功能以整数返回两个字符表达式的SOUNDEX 值之差语法DIFFERENCE ( character_expression , character_expression )(5) LEFT函数功能返回从字符串左边开始指定个数的字符语法LEFT ( character_expression , integer_expression )(6) LEN函数功能返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格语法LEN ( string_expression )(7) LOWER函数功能将大写字符数据转换为小写字符数据后返回字符表达式(8) LTRIM函数功能删除起始空格后返回字符表达式语法LTRIM ( character_expression )(9) NCHAR函数功能根据Unicode 标准所进行的定义,用给定整数代码返回Unicode 字符语法NCHAR ( integer_expression )样例(10) PATINDEX函数功能返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零语法PATINDEX ( …%pattern%‟ , expression )(11) REPLACE函数功能用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式语法REPLACE ( ‟string_expression1′ , ‟string_expression2′ , ‟string_expression3′ )(12) REVERSE函数功能返回字符表达式的反转语法REVERSE ( character_expression )(13) RIGHT函数功能返回字符串中从右边开始指定个数的integer_expression 字符语法RIGHT ( character_expression , integer_expression )(14) RTRIM函数功能截断所有尾随空格后返回一个字符串(15) SOUNDEX函数功能返回由四个字符组成的代码(SOUNDEX) 以评估两个字符串的相似性语法SOUNDEX ( character_expression )(16) SPACE函数功能返回由重复的空格组成的字符串语法SPACE ( integer_expression )(17) STR函数功能由数字数据转换来的字符数据语法STR ( float_expression [ , length [ , decimal ] ] )参数float_expression: 是带小数点的近似数字(float) 数据类型的表达式。

相关主题