1 / 88

6.1 数学函数 6.2 字符串函数 6.3 日期函数 6.4 转换函数 6.5 判定函数 6.6 用户自定义函数

第六章 使用函数辅助查询. 6.1 数学函数 6.2 字符串函数 6.3 日期函数 6.4 转换函数 6.5 判定函数 6.6 用户自定义函数. 6.1 数学函数. 1 、 ABS(numeric_expression) 该函数返回表达式值( bit 型除外) 的绝对值,返回值的数据类型与原数 据类型一致。例如: SELECT ABS(-3.0), ABS(2.0), ABS(0.0) . 该语句执行后在查询窗口的结果子窗 口中,点击网格标签将看到以下返回 结果: 3.0 2.0 .0 点击消息标签将看到以下消息:

maylin
Download Presentation

6.1 数学函数 6.2 字符串函数 6.3 日期函数 6.4 转换函数 6.5 判定函数 6.6 用户自定义函数

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 使用函数辅助查询 6.1数学函数 6.2字符串函数 6.3日期函数 6.4转换函数 6.5判定函数 6.6用户自定义函数

  2. 6.1数学函数 1、ABS(numeric_expression) 该函数返回表达式值(bit型除外) 的绝对值,返回值的数据类型与原数 据类型一致。例如: SELECT ABS(-3.0), ABS(2.0), ABS(0.0)

  3. 该语句执行后在查询窗口的结果子窗 口中,点击网格标签将看到以下返回 结果: 3.0 2.0 .0 点击消息标签将看到以下消息: /*----SELECT ABS(-3.0), ABS(2.0), ABS(0.0)--*/

  4. (所影响的行数为 1 行,所影响的 行数指输出结果的行数。) 2、AVG([ALL | DISTINCT]numeric_expression) 该函数返回查询出的一组数据的 平均值。例如: SELECT AVG(积分)

  5. FROM jsy WHERE 所学专业='汽车指挥' 返回结果为:26.833333 3、COUNT([ALL | DISTINCT]expression | * ) 该函数返回查询出的表达式数 据的个数。例如:

  6. SELECT COUNT(*) FROM cl WHERE 类别=‘小轿车’ 返回结果为:3 4、CEILING(numeric_expression)   该函数返回最小的大于或等于表 达式值的整数值。返回值的数据类型

  7. 与原数据类型一致。例如: SELECT CEILING($99.99), CEILING($-99.99) ,CEILING($0.0) 返回结果为:100.0000 -99.0000 .0000 5、FLOOR(numeric_expression)   该函数返回最大的小于或等于表

  8. 达式值的整数值。返回值的数据类型 与原数据类型一致。例如: SELECT FLOOR($99.99), FLOOR($-99.99) ,FLOOR($0.0) 返回结果为:99.0000 -100.0000 .0000 6、RAND([integer_expression])

  9.   该函数返回一个位于0与1之间 的随机数。表达式值作为产生随机数 的起始值,返回值为浮点型数。例 如: DECLARE @number smallint SET @number=1 WHILE (@number<=3)

  10. BEGIN SELECT RAND(@number) SET @number=@number+1 END GO

  11. 返回结果为 0.71359199321292355 0.7136106261841817 0.71362925915543995 7、ROUND(numeric_expression,int_ expression1,

  12. [integer_expression2])   该函数无整数表达式2时,返回 由整数表达式1表示的精度对数值型 表达进行四舍五入后的值;有整数 表达式2(非零)时,表示用整数表 达式1表示的精度对数值型表达式进 行截断。例如:

  13. SELECT ROUND(2456.12582,3) 返回结果为2456.12600。下面语 句: SELECT ROUND(2456.12582,3,1) 返回值为2456.12500。

  14. 下面语句: SELECT ROUND(2456.12582,-3) 返回值为2000.00000。

  15. 6.2字符串函数 1、ASCII(chracter_expression)   该函数返回字符的ASCII码值, 返回值为整型数据。例如: SELECT ASCII(‘a’), ASCII(‘Z’) 返回结果为:97 90 2、CHAR(inter_expression)

  16.   该函数返回ASCII码值代表的字 符。例如: SELECT CHAR(97), ASCII(90) 返回结果为:a Z 3、LEN(charater_expression)   该函数返回字符串的长度,即字 符的个数,1个汉字计为一个字符。

  17. 例如: SELECT LEN(姓名) FROM jsy WHERE 驾照号=‘002011’ 返回结果为:2 该例计算驾照号为‘002011’的驾驶员 的姓名字段值的长度,注意LEN函数

  18. 计算字符长度时不包括字符尾部的空 格。 4、DATALENGTH(expression)   该函数返回表达式值所占用的字 节数,常用于查看变长数据类型的长 度。例如: SELECT

  19. DATALENGTH(‘100’),DATALENGTH(100) 返回结果为:3 4 而下面语句: SELECT DATALENGTH(姓名) FROM jsy

  20. WHERE 驾照号='002011' 返回结果为:4   这是因为‘100’为字符,长度为3 字节,100为数值,数据类型默认为 int型,占用为4字节。表jsy中驾照 号为‘002011’的驾驶员姓名列的长度 为4字节。

  21. 5、LEFT(chracter_expression,integer_expression)   该函数返回字符串从左边开始指 定个数的字符。 例如: SELECT LEFT(姓名,)+LEFT

  22.         (职务,3) FROM ddy 返回结果为: 林队长       孙副队长       刘调度员 6、RIGHT(chracter_expression, integer_expression)

  23.   该函数返回字符串从右边开始指 定个数的字符。 例如: SELECT RIGHT(驾照号,4), 姓名 FROM jsy WHERE 籍贯= ‘北京’ 返回结果为: 姓名

  24. 2012 高兵 0114 林水强 7、SUBSTRING(chracter_expression, begin_integer_expression, lenth_integer_expression )   该函数返回字符串在起始位置开

  25. 始的指定长度的子串。例如: SELECT SUBSTRING('traffic',3,4) 返回结果为:affi 8、UPPER(chracter_expression)   该函数返回字符的大写形式。 9、LOWER(chracter_expression)   该函数返回字符的小写形式。

  26. 10、SPACE(integer_expression)   该函数返回指定长度的空格字符 串。例如: SELECT 姓名+SPACE(6)+职务 FROM ddy WHERE 调度号=’0111’ 返回结果为:林强 队长

  27. 11、REPLICATE(chracter_expressio n,integer_expression)   该函数将字符串复制指定的遍 数。例如: SELECT REPLICATE(‘SQL’,3) 返回结果为:SQLSQLSQL

  28. 12、STUFF(chracter_expression1, begin_integer_expression, end_integer_expression, chracter_expression2)   该函数将字符串1从开始位置到 结束位置中的字符删去然后将字符串 2填充进去。例如:

  29. SELECT STUFF(‘SQlver’,2,2, ‘L Ser’) 返回结果为:SQL Server 13、REVERSE(chracter_expression) 该函数返回字符串的反序字符 串。例如:

  30. SELECT REVERSE(‘SQL’) 返回结果为:LQS 14、LTRIM(chracter_expression)   该函数返回删除字符串左端空格 后的字符串。例如: SELECT LEN(‘SQL‘) AS ‘原字符长’, LEN(LTRIM(‘SQL‘)) AS ‘

  31. 现字符长’ 返回结果为:原字符长 现字符长 6 3 15、RTRIM(chracter_expression)   该函数返回删除字符串右端空格 后的字符串。例如: SELECT

  32. 'SQL',RTRIM('SQL'),'SQL' 返回结果为:SQL SQL SQL 16、STR(float_expression[, integer_expression1[, integer_expression2]])   该函数返回浮点表达式值的字符

  33. 串形式。整数表达式1为字符串长 度,整数表达式2为小数位数。若无 整数表达式2,默认为0;若无整数 表达式1,默认为浮点数值的整数部 分长度。例如: SELECT STR(123.456), STR(123.456,4,1),STR(123.456,6,4) 返回结果为:123 123 123.46

  34. 6.3日期串函数 1、GETDATE()   该函数返回当前系统日期时间。 例如: SELECT GETDATE() 返回结果:2003-05-27 02:56:33.120

  35. 2、DATEPART(datepart,date_expression)   该函数返回日期表达式值的指定 部分,返回值为数值型数据。表6-1 为date型数据日期部分的取值。

  36. 例如: SELECT 姓名, DATEPART(yy, 出 生年月) AS’出生年’, DATEPART(mm, 出生年月) AS ‘出 生月’ FROM jsy WHERE 驾照号=’002011’

  37. 返回结果:姓名 出生年 出生月 王明 1983 12 3、DATENAME(datepart,date_expres sion)   该函数返回日期表达式值的指定 部分的名称,返回值为字符型数据。

  38. 例如: SELECT 姓名, DATENAME(ww, GETDATE()) 返回结果:Turday 4、DATEADD(datepart, interge_expression, date_expression )

  39.   该函数返回日期表达式值的指定 部分加上整数表达式值后的日期时 间。例如: SELECT DATEADD(day, 10, GETDATE()) 返回结果:2004-01-04 12:41:51.560

  40. 5、DATEDIFF(datepart,date_expre ssion1, date_expression2)   该函数返回日期表达式1的值和 日期表达式2的值在指定部分的差 值。例如: SELECT 姓名,

  41. DATEDIFF(year, 出生年 月,GETDATE()) AS ‘年龄’ FROM jsy WHERE 驾照号=’002011’ 返回结果:姓名 年龄 王明 20 6、DAY(date_expression)

  42.   该函数返回日期表达式值的“日” 部分。例如: SELECT DAY(GETDATE()) 返回结果:4 7、MONTH(date_expression)   该函数返回日期表达式值的“月” 部分。例如:

  43. SELECT MONTH(GETDATE()) 返回结果:1 8、YEAR(date_expression)   该函数返回日期表达式值的“年” 部分。例如: SELECT YEAR(GETDATE()) 返回结果:2004

  44. 6.4转换串函数 1、CAST(expression, AS date_type)   将表达式值转换为指定的数据类 型。例如: SELECT CAST('2002-5-27' AS datetime)

  45. 返回结果:2002-05-27 00:00:00.000 语句 SELECT CAST(GETDATE() AS char) 返回结果为:12 25 2003 12:47PM 语句

  46. SELECT CAST('123' AS real) 返回结果为:123.0   再如,车辆表中启用年代字段的 数据由两部分组成如‘89_2’,其中 ‘89’表示89年,‘2’表示第二季度。现 需将‘89_2’形式用‘89年’表示,下面 语句可实现该数据转换。

  47. SELECT 车牌号, 类别,‘启用年 '=CAST(LEFT(启用年代, 2) AS char(2))+'年' FROM cl 2、CONVERT(date_type[(length)], expression[,style]) 与CAST函数相似,只是CONVERT

  48. 中可以设定数据类型的长度和格式。 表6-2列出日期型与字符型转换时 style的取值含义。 例如语句 SELECTCONVERT(char, GETDATE(),101) 返回结果:12/25/2003

More Related