存储过程中cast是什么意思?
declare @SD datetime,@ED datetime
set @SD = cast( (cast(@Month as varchar) + '-1- ' + cast(@year as varchar)) as datetime)
set @ED = dateadd(mm,1,@SD)
这语句实现了什么?
------解决方案--------------------set @SD = cast( (cast(@Month as varchar) + '-1- ' + cast(@year as varchar)) as datetime)
把一个字符串数据转换为时间类型的数据.
------解决方案--------------------cast(@Month as varchar) 将@month转换为字符串类型,cast(@year as varchar)一样
cast( (cast(@Month as varchar) + '-1- ' + cast(@year as varchar)) as datetime)将(cast(@Month as varchar) + '-1- ' + cast(@year as varchar))所得到的字符串类型转化为时间类型
cast 类型转换,一般用于字符串和时间类型之间
------解决方案--------------------@year 为2007,@month为8,@day为3
如果三者都为字符串型数据
cast(@year + '- ' + @month + '- ' + @day as datetime)
如果三者都为数值型数据.
cast(cast(@year as varchar)+ '- ' + cast(@month as varchar)+ '- ' + cast(@day as varchar) as datetime)
------解决方案--------------------现在有三个参数,@year,@month,@day分别从三个textbox中的text值得到.
要如何将这三个数连起来成一个datetime类型的变量.
-------------------------------
datetime类型的值应该是不能进行比较的,除非转换成字符串类型
declare @a
set @a=@year+ '- '+@month+ '- '+@day
这样得到的结果就是字条串类型的,
------解决方案--------------------数据类型转换:
cast
convert