怎么格式化日期
我有个存储过程,过程里,表里的日期跟输入参数进行比较
表里的日期好弄,无非是 convert(xx)这个方式。
问题是输入的参数,是个varchar类型。格式很不统一,有‘20130101’这样的,有‘2013/1/1’这样的,还有‘2013-01-01 12:15:15’这样,还有其他的格式。
我怎么能把输入的参数统一起来?这个只能在存储过程里做,不能在外面程序做,因为外面的程序很多,有些已经没有源代码了。
[解决办法]
convert(datetime,日期参数)
[解决办法]
declare @Cdate varchar(20)
set @Cdate='20130726'
select Convert(datetime,@Cdate,121)
set @Cdate='2013/1/1'
select Convert(datetime,@Cdate,121)
/*
2013-07-26 00:00:00.000
2013-01-01 00:00:00.000
*/
declare @参数1 nvarchar(20)
declare @参数2 nvarchar(20)
declare @参数3 nvarchar(20)
set @参数1='20130101'
set @参数2='2013/1/1'
set @参数3='2013-01-01 12:15:15'
select convert(datetime,@参数1)
select convert(datetime,@参数2)
select convert(datetime,@参数3)
/*
2013-01-01 00:00:00.000
2013-01-01 00:00:00.000
2013-01-01 12:15:15.000
*/