- 可大致分为10类:
- 字符串函数
- 文本/图像管理函数
- 日期/时间类函数
- SQL系统配置函数
- 安全管理函数
- 游标函数
- 数学计算函数
- 系统函数
- 系统统计函数
- 元数据函数
4.4.1 数学函数
- 数学函数用于对数值型字段和表达式进行处理,并返回运算结果。
- 常用的数学函数如表所示
例4.7
输出下列函数的值CEILING(),FLOOR(),ROUND()。
select ceiling(13.6),floor(13.7)
round(13,45767,3)
4.4.2 聚合函数
- 聚合函数用于对一组值进行计算并返回一个单一的值。除COUNT 函数之外,聚合函数忽略空值。聚合函数经常与SELECT 语句的GROUP BY 子句一同使用。
- 聚合函数的作用是在结果集中通过对被选列值的收集处理,并返回一个数值型的计算结果。
4.4.3 时间日期函数
- 日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串、数字值或日期和时间值。
- 日期时间函数可以在表达式中直接调用
- 专用于时间函数的常见缩写:
例4.8
从GETDATE函数返回的日期中提取年份、月份和天数值并输出。
select datename(year,getdate()) as ‘year name’
select datename(month,getdate()) as ‘month name’
select datename(day,getdate()) as ‘day name’
4.4.4 转换函数
- 转换函数convert和cast的语法格式:
(1) cast:
(expression as data_type)
(2) convert:
(data_type[(length)],expression[,style]) - 转换类型
(1) 显示转换:使用 CAST 和 CONVERT 转换函数可以将一种数据类型的表达式强制转换为另一种数据类型的表达式。
(2) 隐式转换:SQL Server 2005 可以自动对某些表达式进行转换,这种转换称为隐式转换。转换时不必使用 CAST 或 CONVERT 来进行这些隐式转换。
例4.9
print ‘今天的日期是’
+convert(varchar(12),getdate(),101)
print ‘今年是’
+convert(varchar(12),year(getdate()))
print ‘本月是’
+convert(varchar(12),month(getdate()))+‘月’
print ‘今天是’
+convert(varchar(12),day(getdate()))+‘号’
print ‘后天是’
+convert(varchar(12),dateadd(dy,2,getdate()),101)
print ‘与2011年1月27号还差’
+convert(varchar(12),datediff(day,getdate(),‘01/27/2011’))
+‘天’
print ‘现在是星期’
+convert(varchar(12),datepart(dw,getdate()))
4.4.5 字符串函数
- 字符串函数可以对二进制数据、字符串和表达式执行不同的运算,大多数字符串函数只能用于char和varchar数据类型以及明确转换成char和varchar的数据类型,少数几个字符串函数也可以用于binary和var binary数据类型。
- 常见的字符串函数及其功能如表所示:
-
- 字符串函数
- LOWER(string_expression)
返回小写 - UPPER(string_expression)
返回大写 - LTRIM(string_expression)
去掉字符串左边的空格 - RTRIM(string_expression)
去掉字符串右边的空格 - RIGHT(string_expression,int)
返回字符串右侧起指定数量的字符 - STUFF(string_expression1,start,length,string_expression2)
返回用字符串2替换字符串1中指定位置起的指定长度的字符串 - LEN(string_expression)
返回字符串长度 - SUBSTRING(string_expression,start,length)
返回字符串指定位置起的指定长度的字符串 - LEFT(string_expression,int)
返回字符串左侧起指定数量的字符 - REVERSE(string_expression)
返回字符串的反转表达式 - CHARINDEX(expression_1,expression_2,start)
返回从 start 位置算起,表达式1 在 表达式2 中的位置
select len(‘International Business Machinery’)
select substring(‘International’,6,4)
select left(‘Shanghai’,4)
select right(‘Shanghai’,4)
select reverse(‘SQL Server’)
select charindex(’{1}’,’{1}[1];{1}[2];’,9)
select stuff(‘International’,6,4,‘DD’)
select lower(‘ASdfg’)
select upper(‘ASdfg’)
select len(‘asd ‘+’ fgh’)
select rtrim(‘as d ‘)+ltrim(’ fgh’)
附件:
使用到的数据库:
https://pan.baidu.com/s/1Lmbw_qSmC04wnPUUgwSKRA
提取码:djsz