create table tb(createTime datetime)
insert into tb values('2010-01-12')
insert into tb values('2010-12-12')
insert into tb values('2011-01-12')
insert into tb values('2010-04-12')
insert into tb values('2010-11-12')
insert into tb values('2000-01-12')
godeclare @dt datetime
set @dt='select * from tb'
select convert(varchar(7),dateadd(dd,-1,convert(varchar(8),@dt,120)+'01'),120)
insert into tb values('2010-01-12')
insert into tb values('2010-12-12')
insert into tb values('2011-01-12')
insert into tb values('2010-04-12')
insert into tb values('2010-11-12')
insert into tb values('2000-01-12')
godeclare @dt datetime
set @dt='select * from tb'
select convert(varchar(7),dateadd(dd,-1,convert(varchar(8),@dt,120)+'01'),120)
create table tb(createTime datetime)
insert into tb values('2010-01-12')
insert into tb values('2010-12-12')
insert into tb values('2011-01-12')
insert into tb values('2010-04-12')
insert into tb values('2010-11-12')
insert into tb values('2000-01-12')
go
select convert(varchar(7),dateadd(dd,-1,convert(varchar(8),createTime,120)+'01'),120)
from tb
go
create table tb(createTime datetime)
insert into tb values('2010-01-12')
insert into tb values('2010-12-12')
insert into tb values('2011-01-12')
insert into tb values('2010-04-12')
insert into tb values('2010-11-12')
insert into tb values('2000-01-12')
goselect convert(varchar(7),dateadd(dd,-1,convert(varchar(8),createTime,120)+'01'),120)
from tb
/*
-------
2009-12
2010-11
2010-12
2010-03
2010-10
1999-12(6 row(s) affected)
*/
drop table tb
create table tb(createTime datetime)
insert into tb values('2010-01-12')
insert into tb values('2010-12-12')
insert into tb values('2011-01-12')
insert into tb values('2010-04-12')
insert into tb values('2010-11-12')
insert into tb values('2000-01-12')
godeclare @dt datetime
select @dt=createTime from tb
select convert(varchar(7),dateadd(dd,-1,convert(varchar(8),@dt,120)+'01'),120)貌似没意义 你得循环 不然只有一个值