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'