Sql server 转换日期和/或时间时SQL转换失败 将@cols声明为NVARCHAR(MAX), @查询为NVARCHAR(最大值), @startdate日期时间='2017-04-01', @enddate日期时间='2017-04-30' SET@query='1〕 从创建的文章中选择*日期
嘿,请尝试下面的代码,看看是否有效Sql server 转换日期和/或时间时SQL转换失败 将@cols声明为NVARCHAR(MAX), @查询为NVARCHAR(最大值), @startdate日期时间='2017-04-01', @enddate日期时间='2017-04-30' SET@query='1〕 从创建的文章中选择*日期,sql-server,tsql,dynamic-sql,Sql Server,Tsql,Dynamic Sql,嘿,请尝试下面的代码,看看是否有效 DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX), @startdate datetime = '2017-04-01', @enddate datetime = '2017-04-30' SET @query = ' select * from Tb_T_Article where Created_D
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX),
@startdate datetime = '2017-04-01',
@enddate datetime = '2017-04-30'
SET @query = '
select * from Tb_T_Article where Created_Date < convert(date,' +@enddate+ ',105)
'
print @query
EXEC SP_EXECUTESQL @query
如果您在@query中查看sql,那么您会注意到日期值没有被引用。您可以通过添加2:
'
DECLARE @enddate datetime
DECLARE @query NVARCHAR(MAX)
SET @enddate = '02-02-2012 6:10:00:000'
SET @query = 'SELECT CONVERT(DATE,@enddate,105)'
EXEC SP_EXECUTESQL @query,N'@enddate date',@enddate