转换
CONVERT(数据类型, 表达式/自己定义的变量, 样式) --样式可以没有
CAST(表达式 as 数据类型)
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()
样例:
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年
判断表或数据库是否已创建
-- 数据库的
if exists ( select * from sysdatabase where name = 'studentDB' )
drop database studentDB
-- 表的和视图都是这个
if exists ( select * from sysobject where name = 'Students' )
drop table Students