慢慢学,心急不行!
五、函数
在Transact
-
SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。
(
1
).行集函数:行集函数可以在transact
-
SQL语句中当作表引用。
(
2
).聚合函数:用于一组值执行计算并返回一个单一的值。
(
3
).标量函数:用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值.
(一)、标量函数的分类
1
.配置函数:返回当前的配置信息
2
.游标函数:返回有关游标的信息
3
.日期和时间函数:用于对日期和时间类型的输入值进行操作,返回一个了子符串,数字或日期和时间值
4
.数学函数:用于对作为函数参数提供的输入值执行操作,返回一个数字值
5
.元数据函数:返回有关数据库和对象和信息
6
.字符串函数:对字符串输入值执行操作,并返回一个字中或数字值
7
.系统函数:执行系统操作
8
.系统统计函数:返回系统的统计信息
9
.文本和图像函数:对于文本或图像输入值或列执行操作,返回有关这些值的信息。
具体讲解:
1
.系统函数
用于返回有关SQL Server系统,用户,数据库和数据库对象的信息。系统函数可以让用户在得到信息后,使用条件语句,根据返回的信息进行不同的操作。与其它函数一样,可以在select语句的select和where子句经及表达式中使用系统函数。
例:返回taihang数据库的yuan表中的第二列的名称。
use
taihang
select
col_name
(
object_id
(
'
yuan
'
),
2
)
注:col_name为系统函数,
object_id
:返回对象的id。
2
.日期和时间类型
日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串,数字值或日期和时间值。
dateadd
(
datepart
,
number
,date)
datediff
(
datepart
,date1,date2)
datename
(
datepart
,date)
datepart
(
datepart
,date)
day
(date)
getdate
()
month
(date)
year
(date)
例1:从getdate函数返回的日期中提取月份数
select
datepart
(
month
,
getdate
())
as
'
month number
'
注:datepart为系统函数
例2:从03
/
12
/
1998中返回月份、天数和年份数
select
month
(
'
03/12/1998
'
),
day
(
'
03/12/1998
'
),
year
(
'
03/12/1998
'
)
3
.、字符串函数
可对二进制数据、字符串和表达式执行不同的运算,大多数字符串函数只能用于char和varchar数据类型以及明确转换成char和varchar的数据类型,少数几个字符串函数也可以用binary和varbinary数据类型。此外,果些字符串还可以处理text,
ntext
,image数据类型的数据。
1
.字符串函数的分类:
(
1
).基本字符串函数:
upper
,
lower
,
space
,
replicate
,
stuff
,
reverse
,
ltrim
,
rtrim
.
(
2
).字符串查找函数:
charindex
,
patindex
.
(
3
).长度和分析函数:
datalength
,
substring
,
right
.
(
4
).转换函数:asch,
char
,
str
,
soundex
,
difference
4
.数学函数
用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server提供的数字数据(
decimal
,
integer
,
float
,
real
,
money
,samllmoney,smallint和tinyint)进行处理。
例:在一表达式中使用ceiling(向上取整),
floor
(向下到整),
round
(四舍五入,N位小数)函数。
select
ceiling
(
13.4
),
floor
(
13.4
),
round
(
13.4567
,
3
)
结果为14,
13
,
13.4570
。
5
.转换函数
一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较char和datetime表达式、smallint和int表达式、或不同长度的char表达式,SQL Serve可以将它们自动转换,这种自动转换称为隐性转换。但是无法由SQL Serve自动转换的或者是SQL Serve自动转换的结果不符合预期结果的,就需要使用转换函数做显示转换。转换函数有两个:convert和cast.
(
1
).
cast
(expression
as
data_type)
(
2
).couvert函数允许用户反表达式从一钟数据类型转换成另一钟数据类型,还允许反日期转换成不同的样式
convert
(data_type
[
length
]
,expression
[
,style
]
)
例:
use
bubs
select
title,ytd_sales
from
titles
where
cast
(ytd_sales
as
char
(
20
))
like
'
15%
'
and
type
=
'
trad_cook
'
posted on 2006-06-20 15:31
太行 阅读(1055)
评论(0) 编辑 收藏 引用 所属分类:
技术热点