Sql server 在“创建”视图中设置日期

Sql server 在“创建”视图中设置日期,sql-server,stored-procedures,Sql Server,Stored Procedures,我正在尝试在SQLServer2008R2中创建一个视图。我需要输入当前日期作为导入完成的日期。以下是我所拥有的: SET NOCOUNT ON; declare @SQL as varchar(4000) --@CD as date --set @CD = convert(varchar(30), cast(getdate() as date), 110) -- Insert statements for procedure here set @SQL = 'CR

我正在尝试在SQLServer2008R2中创建一个视图。我需要输入当前日期作为导入完成的日期。以下是我所拥有的:

SET NOCOUNT ON;
declare @SQL as varchar(4000)
        --@CD as date

--set @CD = convert(varchar(30), cast(getdate() as date), 110)


    -- Insert statements for procedure here
set @SQL = 'CREATE VIEW vw_GCS_Export
    As
    select division, [primary image id],[Item Number], [Brand Name],[Marketing Description],
    [Colours]as Colors,[Live Date],[Sample Type],substring([FileName],charindex('+ CHAR(39) + '_' + CHAR(39) +',[FileName],1)+1,CHARINDEX('+ CHAR(39) + '.' + CHAR(39) +',[FileName],1)-5) as BatchID,
    '+ CHAR(39) + '670' + CHAR(39) +' as Status, [Primary image ID] + '+ CHAR(39) + '_P' + CHAR(39) +' as [Shot Name],
    Cast(Null as varchar(50))as [Swatch/Variation],Cast(Null as varchar(50))as [Alternate Shot],[UserName],' + CAST(convert(date,Sysdatetime(),110)as varchar(10)) + ' as [Import Date],
    Cast(Null as varchar(50))as [Return Instructions],Cast(Null as varchar(50))as [Rush Request]
    from Sheet1$'


EXEC (@SQL)
select * from vw_GCS_Export
当我得到结果时,字段ImportDate返回为2008。我希望是2013年1月4日或类似的日子。我只需要在字段中插入当前日期


我尝试了几个cast和convert组合,甚至尝试了一个返回当前日期和时间的函数,但没有成功。

日期文字需要用单引号括起来,因此您需要用日期表达式周围的转义引号修改@SQL:

select ''' + CAST(convert(date,Sysdatetime(),110)as varchar(10)) + ''' as [Import Date]'