2016-04-15 18 views
1

下面的代碼:如何從表中分配日期變量值?

declare @tradeDate date = select tradeDate from tSystemStatus 

生成錯誤:

Incorrect syntax near the keyword 'select'. 

表結構:

CREATE TABLE [dbo].[tSystemStatus](
    .... 
    [TradeDate] [date] NOT NULL, 
    .... 

什麼我錯了嗎?

+0

定義的變量是'date'類型。它不能保存來自多行的數據,這是您的任務試圖執行的操作 –

+0

@vkp實際上只有一行 – gstackoverflow

+1

那麼您的答案如下。在'select'周圍使用'()'。 –

回答

2

試試這個

declare @tradeDate date = (select tradeDate from tSystemStatus) 

但是,如果選擇查詢返回不止一個值,那麼它會拋出錯誤(您可以用頂部1此處)

declare @tradeDate date = (select top 1 tradeDate from tSystemStatus) 

或者

declare @tradeDate date 
select @tradeDate = tradeDate from tSystemStatus 
1

試試這個

declare @tradeDate date; 
select @tradeDate=tradeDate from tSystemStatus