太行年华
一步步走过每一片绿色
posts - 26,  comments - 29,  trackbacks - 0
慢慢学,心急不行!
五、函数
在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)  编辑 收藏 引用 所属分类: 技术热点
只有注册用户登录后才能发表评论。
欢迎来访太行的BLOG! 欢迎留言!

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(2)

随笔分类(26)

随笔档案(26)

文章分类(4)

文章档案(4)

相册

友情链接

最新随笔

搜索

  •  

积分与排名

  • 积分 - 34178
  • 排名 - 154

最新评论

阅读排行榜

评论排行榜