查询学号等于10001的学生总成绩
use StudentDB
go
declare @sumScore int
select @sumScore(SqlDB+CSharp)from ScoreList
where Student=10001
--print '学号=10001学号总成绩:'+@sumScore 数据类型转换有误
print '学号=10001学员总成绩:'convert(varchar(20),@sumScore)
常用两种转换方法
- convert(数据类型,表达式,样式)
- cast(表达式 as 数据类型)
- 不同点:convert可以指定转换的样式
T-SQL中的其他函数
- datediff 函数计算两个日期差
- floor 函数返回一个小于或者等于当前值的最大整数
use StudentDB
go
declare @birthday datetime,@days int,@age int
select @birthday=Birthday from Students where StudentId=10001
--计算天数
set @days=DATEDIFF(DAYOFYEAR,@birthday,GETDATE())
--计算年龄
set @age=FLOOR(@days/365)