当前位置: 代码迷 >> Sql Server >> 把查找出来的字符串赋值给变量如何做才能使得变量不为NULL
  详细解决方案

把查找出来的字符串赋值给变量如何做才能使得变量不为NULL

热度:78   发布时间:2016-04-24 09:58:02.0
把查找出来的字符串赋值给变量怎么做才能使得变量不为NULL?
declare @时间 datetime
declare @timestr nvarchar(1000)
set @timestr='select format(时间,''yyyy-MM-dd hh:mm:ss'') from wangning868hexun.dbo.和讯博客3'
exec sp_executesql @timestr,N'@p1 varchar(30) output',@时间 output
select @时间

为什么搜索出来的结果(结果有2个滚动条)第1个滚动条显示正确格式的时间,第2个滚动条显示最后一句select @时间的搜索结果却为NULL,怎么回事啊?
------解决思路----------------------
因为你执行的动态SQL 并没有传出参数
而且这貌似不是MSSQL吧
且不管,你试试以下
declare @时间 datetime
declare @timestr nvarchar(1000)
set @timestr='select @p1=format(时间,''yyyy-MM-dd hh:mm:ss'') from wangning868hexun.dbo.和讯博客3 select @p1'
exec sp_executesql @timestr,N'@p1 varchar(30) output',@时间 output
select @时间

------解决思路----------------------

declare @时间 smalldatetime
 declare @timestr nvarchar(1000)
set @timestr='select @p1=convert(varchar(30),orderdate,120) from adventureworks2008.sales.salesorderheader'
exec sp_executesql @timestr,N'@p1 varchar(30) output',@时间 output
select @时间
  相关解决方案