CONVERT(数据类型, 表达式, 样式) --样式可以没有
CAST(表达式 as 数据类型)
cs
select StudentName + '的出生日期是:' + cast(DateOfBirth as varchar(50)) as '学生信息'
from Students;
select StudentName + '的出生日期是:' + convert(varchar(50), DateOfBirth, 103) as '学生信息'
from Students;
select StudentName + '的出生日期是:' + convert(varchar(50), DateOfBirth, 108) as '学生信息'
from Students;
DateOfBirth是DateTime类型,不转换会报错
------------------函数-----------------
计算日期差:datediff(日期格式,日期1, 日期2)
向下取整:Floor()
样例:
sql
declare @days int, @BirthDay dateTime, @Age int
select @BirthDay = DateOfBirth from Students where StudentId = 100002
print '生日:' + convert(varchar(50), @BirthDay)
select @days = datediff(DAYOFYEAR,@BirthDay, getdate())
print '活了' + Convert(varchar(10), @days) + '天'
select @Age = FLOOR(@days / 365)
print '活了' + Convert(varchar(10), @Age) + '年'
结果:
生日:02 7 1990 12:00AM
活了12211天
活了33年