declare @sSql nvarchar(4000), @sSqlstring nvarchar(4000)
declare @BeginDate nvarchar(8), @FinishDate nvarchar(8)
set @BeginDate = '20080401'
set @FinishDate = '20080930'exec(' select @sSqlstring = @sSqlstring + sysdate from ( select convert(char(7),dateadd(month,id,'''+@BeginDate +'''),121) as sysdate from
(select top '+cast(datediff(month,@BeginDate,@FinishDate)+1 as char(3)) + '(select sum(1) from sysobjects where name <= a.name) - 1 as id from sysobjects a) bb)a')select (@sSqlstring)执行select @sSqlstring = @sSqlstring + sysdate from ( select convert(char(7),dateadd(month,id,'''+@BeginDate +'''),121) as sysdate from
(select top '+cast(datediff(month,@BeginDate,@FinishDate)+1 as char(3)) + '(select sum(1) from sysobjects where name <= a.name) - 1 as id from sysobjects a) bb)a得到以下结果集,
sysdate
2008-04
2008-05
2008-06
2008-07
2008-08
2008-09
如何将sysdate这个字段的值放到@sSqlstring中去?
declare @BeginDate nvarchar(8), @FinishDate nvarchar(8)
set @BeginDate = '20080401'
set @FinishDate = '20080930'exec(' select @sSqlstring = @sSqlstring + sysdate from ( select convert(char(7),dateadd(month,id,'''+@BeginDate +'''),121) as sysdate from
(select top '+cast(datediff(month,@BeginDate,@FinishDate)+1 as char(3)) + '(select sum(1) from sysobjects where name <= a.name) - 1 as id from sysobjects a) bb)a')select (@sSqlstring)执行select @sSqlstring = @sSqlstring + sysdate from ( select convert(char(7),dateadd(month,id,'''+@BeginDate +'''),121) as sysdate from
(select top '+cast(datediff(month,@BeginDate,@FinishDate)+1 as char(3)) + '(select sum(1) from sysobjects where name <= a.name) - 1 as id from sysobjects a) bb)a得到以下结果集,
sysdate
2008-04
2008-05
2008-06
2008-07
2008-08
2008-09
如何将sysdate这个字段的值放到@sSqlstring中去?
解决方案 »
- 向 substring 函数传递了无效的 length 参数
- POWER(10,100-b.Rxle+110-105) 有时候发生类型错误
- 菜鸟提问,高手请答:一个查询,在线等。。。。
- 存储过程在sql里执行速度只有1秒多,在项目里就超时?!!!
- “/pcsims”应用程序中的服务器错误。
- dbf文件导入到sql server中出现乱码
- 一个比较简单的触发器问题
- 求高手解决,如何同时联合读取同一个表中的两个不同值,显示在一起
- [提问]:怎样从sql中将一个数据库转移到另一台机的sql数据库中 ,在线等待。
- 如何防止我的数据库,被别人附加?
- 简单问题
- SQL2000或SQL2008中怎么高效地SELECT从m开始的n条记录
declare @BeginDate nvarchar(8), @FinishDate nvarchar(8)
set @BeginDate = '20080401'
set @FinishDate = '20080930'
set @sSql = ' select @sSqlstring = isnull(@sSqlstring+''/'','''') + sysdate from ( select convert(char(7),dateadd(month,id,'''+@BeginDate +'''),121) as sysdate from
(select top '+cast(datediff(month,@BeginDate,@FinishDate)+1 as char(3)) + '(select sum(1) from sysobjects where name <= a.name) - 1 as id from sysobjects a) bb)a'exec sp_executesql @sSql,N'@sSqlstring varchar(1000) output',@sSqlstring out
select @sSqlstring
/*
----------------------------------------
2014-02/2014-04/2011-12/2012-11/2013-02/2013-03(1 行受影响)
*/