SQL server数据库函数的使用说明

SQL中的函数是不通用的,不同的DBMS函数不一样,大致分为四类函数。

先创建一个表,并且加入适当的数据来做实验:
创建表:
create table tab
(
id int not null,
name char(20),
sex char(2) ,
address char(50),
born datetime,
constraint id primary key(id)
)
插入数据:
insert into tab
values(1,'zhangsan','女','home town 100 street','1985-02-01')
i insert into tab
values(2,'lisi','男','ming feng da dao 85 hao','1985-02-2')
insert into tab
values(3,'wangwu','男','1985-02-03','1985-02-3')
 
SQL server中的函数
1. 类型转换函数:convert() 、cast()
convert格式:convert(datatype[length],expression,[style])
参数: datatype 目标数据类型
Length 长度
Expression 待转换的表达式或者字段变量
Style 特定:将日期型数据转换成字符型数据时,可以设置字符型数据的目标格式 1-14 一共14种格式,常用:8 时间格式对应108返回YYYY年份呢,9日期时间格式对应109年份YYYY,10日期格式对应110YYYY年份。
实验一下:将born字段的数据转换为109格式的的字符类型
select convert(char,born,109) as newadress from tab
截图:
convert()函数的转换效果
cast格式:cast(express as datatype[length])
同样实现上述效果,只能将其转换为字符类数据
select cast(born as char) as newadress from tab
截图:
Case()函数的转换效果
 
2. 日期函数:日期函数允许操作日期时间值,SQL server支持的函数:getdate(),dateadd(),datediff(),datename(),datepart().
Getdate()用于获取系统的当前时间值:select getdate()
Dateadd(datepart,number,date) 函数用于修改日期时间值,参数:
Datepart:表示需要修改的日期时间部分
Datepart参数值 缩写 取值范围
Year yyyy,yy 1753-9999
Month mm,m 1-12
Day dd,d 1-31
Week wk,ww 1-51
Hour hh 0-23
Minute mi,n 0-59
Second ss,s 0-59
Millisecond ms 0-999
  Number:设置修改的数字大小
  Date:设置变更日期的原值,可以是字段值或者函数获取当前值,也可以是指定值
例:select 姓名,dateadd(year,10,getedate()) as newborn from tab
Select 姓名,dateadd(mm,5,出生日期) as newborn from tab
Datediff(datepart,date1,date2)函数用于返回两个日期之间的时间差
例:datediff(yyyy,出生年月,getdate())
Datename(datepart,date)函数用于返回日期的制定部分,并且用字符串类型表示出来。
例:where datename(mm,出生年月)=’1’返回了条件为月份1。
Datepart(dartpart,date)函数用于返回日期的制定部分,并且用数值类型表示出来。
例:where datename(mm,出生年月)=1 ,是数值型,所以不能加引号。
 
3. 数学函数:操作数值数据。
Abs:绝对值
Sin:正弦
Cos:余弦
Tan:正切
Cot:余切
Asin:反正弦
Acos:反余弦
Atan:反正切
Ceiling:返回大于等于给定数值的最小整数
Floor:返回小雨等于给定数值的最大整数
Rand:返回0-1的随机float值
Exp:返回所给float表达式的指数值
Log:返回自然对数
Log10:返回以10为底的对数值
Pi:返回pi常量
Power:(表达式,y)返回表达式的y次方
Round:(表达式,length)返回表达式四舍五入制定精度的数值
Sign:返回给定数值的正(+1)、负(-1)、零(0)符号
Sqrt:返回数值的平方根
 
4.字符函数:操作字符数据。
Ascii:(char_表达式)返回字符表达式结果最左边的字符的ascii码。
Char:(integer_表达式)返回ascii码为指定整数的字符。
Charindex:(char_表达式1,char_表达式2[,start])返回表达式1在表达式2中的起始位置,start表示从那个位置开始往后查找。
Difference:(char_表达式,char_表达式)返回两个表达式之间的相似性,返回0-4的值,值越大为匹配性越好。
Left:(char_表达式,integer表达式)返回字符串左边指定个数的字符串。
Right:(char_表达式, integer表达式) 返回字符串右边指定个数的字符串。
Lower:(char_表达式)将大写字符全部转换为小写字符。
Upper:(char_表达式) 将小写字符全部转换为大写字符。
Ltrim:(char_表达式)删除字符串左边的空格。
Rtrim:(char_表达式)删除字符串右边的空格。
Reverse:(char_表达式)返回字符表达式的逆序。
Replicate:(char_表达式,integer_表达式)将指定的字符串重复指定的次数。
Space:(integer_表达式)返回指定数目的空格组成的字符串,参数为负数,则返回空字符串。
Substring:(表达式,start,length)返回指定位置和长度的子字符串。
Stuff:(char_表达式,start,length, char_表达式)删除指定位置,指定长度的字符串并且插入新字符串。
Soundex:(char_表达式)检测字符表达式的发音比较相似性:例:where soundex(country)=soundex(‘germery’)。Germery德国拼写应该是germary,但是还是能查询成功,soundex比较的是字符串的发音。
 
Isnull空值替换:(check_expression,replacement_expression)将空值NULL更改为其他值。检查check_expression是否为空,如果为空则将其替换为replacement_expression。
Case条件判断函数:
Case 
When 条件表达式1  then 返回值1
When 条件表达式2  then 返回值2
.。。。
When 条件表达式n  then 返回值n
Else  返回值n+1
End
posted @ 2016-08-23 16:23  华翎科技  阅读(509)  评论(0)    收藏  举报