我已經運行下面的代碼,但NULL不顯示在最終的查詢結果。 我可以看到NULL被插入臨時表中。當我在查詢中調用變量時,NULL值不顯示。表變量和NULLS
USE [AdventureWorks2014];
GO
SET NOCOUNT ON;
SET STATISTICS IO ON;
DECLARE @values TABLE
(
Value VARCHAR(MAX) NULL
)
INSERT INTO @values
VALUES (NULL), ('Black'), ('Blue'), ('Grey'), ('Multi'), ('Red'), ('Silver'), ('Silver'), ('Black'), ('White'), ('Yellow') --SELECT Value FROM @values;
SELECT Production.Product.Name, Production.Product.ProductNumber, Production.Product.Color, Production.Product.ListPrice, Production.Product.SIZE, Production.Product.[Weight], Production.Product.ProductLine, Production.Product.Class, Production.Product.STYLE, Production.ProductPhoto.ThumbNailPhoto, Production.ProductPhoto.LargePhoto FROM Production.Product INNER JOIN Production.ProductProductPhoto ON Production.Product.ProductID = Production.ProductProductPhoto.ProductID INNER JOIN Production.ProductPhoto ON Production.ProductProductPhoto.ProductPhotoID = Production.ProductPhoto.ProductPhotoID
--BEGIN CALLOUT A
WHERE --Production.Product.Color IS NOT NULL
(Production.Product.Color IN (SELECT Value FROM @values));
--END CALLOUT A
GO
小問題:
除了插入
NULL
爲@values
的,試試這個。如果null未被插入到表變量中怎麼辦? –@ t-clausen.dk然後不要添加'OR'部分? –
因此當表變量的內容發生變化時更改sql?有趣的 –