2013-04-01 3 views
0

SQL Server 2008 R2에서보기를 만들려고합니다. 가져 오기가 완료된 날짜로 현재 날짜를 입력해야합니다. 다음은 내가 가지고있는 것입니다.만든 날짜보기에서 날짜 설정

SET NOCOUNT ON; 
declare @SQL as varchar(4000) 
     [email protected] 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로 반환됩니다. 나는 04/01/01 또는 비슷한 것을 기대하고있었습니다. 필드에 현재 날짜를 삽입하면됩니다.

저는 여러 캐스트와 변환 조합을 시도했으며 현재 날짜와 시간은 반환하지만 행운은 반환하지 않습니다.

답변

1

날짜 리터럴은 작은 따옴표로 묶어야합니다, 그래서 당신은 날짜 표현을 둘러싼 탈출 따옴표로 @SQL을 수정해야합니다

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

우수, 덕분에 너무 많은. –