declare @rq1 datetime ---起始日期
declare @sj int
set @sj=19550100
print @sj
set @rq1=convert(datetime,cast(@sj as varchar(23)),121) // 这句出错
print @rq1 hlzh_p_singlgcjyl是存储过程 出错原因:
消息 242,级别 16,状态 3,过程 hlzh_p_singlgcjyl,第 32 行
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
declare @sj int
set @sj=19550100
print @sj
set @rq1=convert(datetime,cast(@sj as varchar(23)),121) // 这句出错
print @rq1 hlzh_p_singlgcjyl是存储过程 出错原因:
消息 242,级别 16,状态 3,过程 hlzh_p_singlgcjyl,第 32 行
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
declare @rq1 datetime ---起始日期
declare @sj int
set @sj=19550100
set @sj=(case when @sj/100*100=@sj then @sj+1 else @sj end)
print @sj
set @rq1=convert(datetime,cast(@sj as varchar(23)),121) --// 不出错了
print @rq1
declare @sj int
set @sj=19550101
print @sj
set @rq1=convert(datetime,cast(@sj as varchar(23)),121)
print @rq1