T-SQL数据库函数
从cast(convert(varchar,d.ReturnCarDate,112)+' '+convert(varchar,d.ReturnCarTime,108) as datetime) as PReturnCarDate 说起。
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
眼睛已经花了,下面是T-SQL数据库函数
1. 聚合函数
(1) AVG 函数功能 返回组中值的平均值。空值将被忽略 语法 AVG ( [ 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 值的 Microsoft? 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.57 SELECT CAST(CAST(@myval AS varbinary(20)) AS decimal(10,5)) -- Or, using CONVERT SELECT 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 = 547 print "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 函数功能 返回受上一语句影响的行数 语法 @@ROWCOUNT
4. 游标函数
(1) @@CURSOR_ROWS 函数功能 返回连接上最后打开的游标中当前存在的合格行的数量。为提高性能,Microsoft? SQL Server? 可以异步填充大键集和静态游标。可调用 @@CURSOR_ROWS,以确定当它被调用时,符合游标的行的数目被进行了检索 语法 @@CURSOR_ROWS 样例 SELECT @@CURSOR_ROWS DECLARE authors_cursor CURSOR FOR SELECT au_lname FROM authors OPEN authors_cursor FETCH NEXT FROM authors_cursor SELECT @@CURSOR_ROWS CLOSE authors_cursor DEALLOCATE authors_cursor (2) @@FETCH_STATUS 函数功能 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态 语法 @@FETCH_STATUS 样例 DECLARE Employee_Cursor CURSOR FOR SELECT LastName, FirstName FROM Northwind.dbo.Employees OPEN Employee_Cursor FETCH NEXT FROM Employee_Cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Employee_Cursor END CLOSE Employee_Cursor DEALLOCATE Employee_Cursor
5. 元数据函数
(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 函数功能 将大写字符数据转换为小写字符数据后返回字符表达式 语法 LOWER ( character_expression ) (8) LTRIM 函数功能 删除起始空格后返回字符表达式 语法 LTRIM ( character_expression ) (9) NCHAR 函数功能 根据 Unicode 标准所进行的定义,用给定整数代码返回 Unicode 字符 语法 NCHAR ( integer_expression ) 样例 (10) PATINDEX 函数功能 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零 语法 PATINDEX ( '%pattern%' , expression ) (11) PEPLACE 函数功能 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式 语法 REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' ) (12) REVERSE 函数功能 返回字符表达式的反转 语法 REVERSE ( character_expression ) (13) RIGHT 函数功能 返回字符串中从右边开始指定个数的 integer_expression 字符 语法 RIGHT ( character_expression , integer_expression ) (14) RTRIM 函数功能 截断所有尾随空格后返回一个字符串 语法 RTRIM ( character_expression ) (15) SOUNDEX 函数功能 返回由四个字符组成的代码 (SOUNDEX) 以评估两个字符串的相似性 语法 SOUNDEX ( character_expression )
最后是时候学习下游标了,以前学的全记不得了