declare @str varchar(15)
declare @dt datetime
select @str='2005-8-26'
set @dt = cast (@str as datetime) --转换为日期付给一个日期型的变量
/*print @dt
print convert (varchar(10),@dt,120) --转化为不同的格式输出,集体参数看帮助
print convert (varchar(10),@dt,111)
print convert (varchar(10),@dt,101)*/
/*用convert是明确地转换一数据类型表示到另一个,对于dateadd等等日期函数
的参数不一定是日期格式,只要可以转化即可,对于convert,字符串和日期是
2种不同的格式,这点要注意,我们来看看一个试验:*/
print dateadd(dd,1,@str)
print dateadd(dd,1,@dt)
print convert (varchar(10),@str,120)
print convert (varchar(10),@dt,120)
/*
Aug 27 2005 12:00AM --dataadd认为字符串'2005-8-26'和日期'2005-8-26'是一样
Aug 27 2005 12:00AM
2005-8-26 /*convert 认为字符串'2005-8-26'和日期'2005-8-26'不一样*/
2005-08-26 /*对于字符串对应的日期格式失效*/
*/
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)