不一定非要在存储过程中转换,用普通的sql语句就可以,一般用cast函数。
测试方法:
创建表及插入数据:
create table test
(id int,
starttime varchar(20));
insert into test values (1,'2015-07-11');
将starttime字段转化为datetime类型:
select cast(starttime as datetime) from test;
结果如图,这时,starttime就转成了datetime类型:
convert(varchar(10),getdate())是把格式为datatime转化为varchar,并不能转化为数据类型。
convert()可以再加一个参数,如convert(varchar(10),getdate(),112)则转化为:20110424,但此转化不能转化时分秒,如果需要时分秒,则这样转化:convert(varchar(10),getdate(),112)+Replace(convert(varchar(10),getdate(),24),':',''),就可以得到年月日时分秒。
这个存储过程好像有问题吧,把详细的写出来,还要把要求和目标说清楚点,这样才好解决问题呀!