declare @tb table (dt varchar(8)) insert into @tb select '20080105' insert into @tb select '' insert into @tb select nullselect convert(varchar(10),cast(dt as datetime),120) from @tb where isnull(dt,'')<>''2008-01-05
declare @tb table (dt varchar(8)) insert into @tb select '20080105' insert into @tb select '' insert into @tb select nullselect case when isnull(dt,'')='' then '' else convert(varchar(10),cast(dt as datetime),120) end as '时间' from @tb2008-01-05 空 空
唉,我怎麼沒想到case,總是找出些1900-01-01的顯示出來。
--参考:select convert( varchar(10),cast('20080612' as datetime),120) result/* result -------- 2008-06-12 */
insert into @tb select '20080105'
insert into @tb select ''
insert into @tb select nullselect convert(varchar(10),cast(dt as datetime),120)
from @tb where isnull(dt,'')<>''2008-01-05
insert into @tb select '20080105'
insert into @tb select ''
insert into @tb select nullselect case when isnull(dt,'')='' then '' else convert(varchar(10),cast(dt as datetime),120) end as '时间'
from @tb2008-01-05
空
空
result
--------
2008-06-12
*/
select cast('20080105' as datetime)