2014-01-09 24 views
1
SELECT 
INT_VALUE = NULL -- Result Data Type = INT 
,STR_VALUE = NULL -- Result Data Type = INT 

我想確保STR_VALUE是varchar NULL而不是int NULL。我需要在SELECT語句和派生列中完成此操作。SELECT中的T-SQL派生列

我該如何做到這一點?

謝謝

更新:謝謝你真的很快反饋。只是「fyi」類的事情,我試圖創建一個ETL應用程序的查詢查詢,並希望看看是否可以在t-sql中創建NULL字符串列,而不是創建基於ETL應用程序的NULL字符串派生列。

THX

+2

CAST或兌換。 – HABO

+0

試過,「,CAST(STR_VALUE AS varchar(50))= NULL」但不起作用.am我使用錯誤的合成語音這種情況? – 007

+2

你可以發佈一個更大(不太大)的查詢 - 你打算如何使用派生列? –

回答

1

只是CAST它:

SELECT 
INT_VALUE = CAST(NULL AS int) 
,STR_VALUE = CAST(NULL as VARCHAR(10)) 
+0

啊,太棒了!謝謝。我在之前使用了STR_Value。 :(請問這個答案很快 – 007

3

NULL默認爲int。您可以使用cast()它更改爲任何其他類型的:

SELECT INT_VALUE = NULL, -- Result Data Type = INT 
     STR_VALUE = cast(NULL as varchar(255)) -- Result Data Type = varchar(255) 
+1

我冒昧地編輯你的答案,以表明我認爲你的意思 – Lamak

+0

感謝Gordon.Lamak抽出時間和發佈/解釋 – 007

+0

@Lamak ......謝謝。 –

1

如果你根據你的選擇(如SELECT INTO)創建一個表,你也可以使用CAST /轉換:

SELECT NULL as INT_VALUE, CAST(NULL as Varchar(10)) AS STR_VALUE 
INTO MyNewTable 
+0

感謝Yuriy花費時間和發佈/解釋。我將在ETL查找查詢中使用它,我需要使用SELECT語句(無變量或任何東西)並需要傳入NULL列。我可以創建一個派生STR NULL列,但想要了解如何在T-SQl中實現這一點。:)查詢的Thx。 – 007