SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 

按顺序来,

这里价格特别的

print  可以再消息栏里打印东西

数学函数

ceiling()  取上限   不在乎小数点后面有多大,直接忽略

floor()     取下限   同上

round(列名,保留的位数)   四舍五入   保留小数最后那位数进不进一只看保留位数的后一位数够不够条件,再往后的就不管了

ABS()     绝对值---防抱死233

PI()        圆周率   就是查询一个圆周率

SQRT()平方根

字符串函数

upper()  全部大写

lower()  全部小写

ltrim/rtrim()  去掉左边或者右边的空格     trim 不能单独用的 要给他表明方向

replace(  ‘字符串’ , ‘需要替换的值’ , ‘要替换成什么值’  )  替换   如果字符串里有多个想同的需要替换的值,会被全部替换

substring(‘字符串’ , ‘索引值’ , ‘截取数量’)  截取   这里的索引值是从1开始数的,也可以 在前面加上 left 或者 right 表示从左或者右开始数

len ()  长度    获取字符串长度  这里与c#里的长度length不同了

 

转换函数

这里先说一个例子;  

select code+name from car;   这里查询出来会把code和name两个varchar类型的列安照字符串拼接的方式显示

     同样如果是两个值类型的列,就会按照数学运算

convert(类型,列名)  类型转换

cast(列名 as  类型) 

时间日期函数

 getdate()  获取当前时间

year(getdate())  获取当前时间中的年份

month(getdate())  获取当前时间中的月份

dat(getdate())  日

isdate(时间日期)   判断时间日期是否正确    返回的是bit类型 

dateadd(加什么时间,加多少,时间日期)   添加时间

datename()  查询时间,括号内填写需要查询的时间格式

datename(weekday,时间) 获取星期几

                 week , 时间       第几周

                 day   ,  时间      第几天

                 dayofyear  ,时间   这一年的第几天

 子查询

select sno,sname,(select cno from Score where Student.Sno=Score.Sno) from Student

表连接

select student.Sno,Sname,cno,degree from Student  join Score on Student.Sno=Score.Sno

join on会先查询student表,其他没有的数据再从join的表查询。一个join后面只能接一个表,表名后面接on,再接条件

select Student.Sno,sname,Score.Cno,DEGREE,cname
from Student join Score on Student.Sno=Score.Sno
join Course on Score.Cno = Course.cno

 

表连接(纵)

select sno 编号,sname 姓名,ssex 性别,sbirthday 生日 from Student
union
select tno,tname,tsex,tbirthday from Teacher

 

 

select Student.sno,sname+'同学',cname,abs(degree+10)
from Student,Score,Course
where Student.Sno=Score.Sno and Score.Cno=Course.Cno
and student.Sno='107'

 

 

 

posted @ 2017-03-13 19:34  超级芒果  阅读(491)  评论(0编辑  收藏  举报