2014-03-19 29 views
1

請原諒我的這個嘗試,SQL非常生疏。SQL如果不爲空

當我運行下面的代碼:

"IF NOT ISNULL Then INSERT INTO [XX].[dbo].[XXX] end if(

我收到以下錯誤消息"AN EXPRESSION OF NON-BOOLEAN TYPE SPECIFIED"

我試圖找出如何,沒有運氣解決這個錯誤。基本上我想要insert into [xx] if the cell is 'NOT NULL'

+3

'IsNull'什麼? –

+0

ISNULL函數需要一個參數。 –

回答

1

你錯過了單元格的值比較:

試試這個:

IF NOT ISNULL <cellValue> Then INSERT INTO [XX].[dbo].[XXX] end if ... 
0

既然你提到 「DBO」 我猜你使用Sybase或SQL Server工作。它看起來像你想插入一行基於變量的值。該接受的答案可能會在特定的情況下工作,但我認爲更通用的解決方案是如下:

insert into <table> (<column list>) 
select <values to insert> 
where <@variable or column_value> is not null 

接受的答案有語法無效的Sybase/SQL服務器。如果你喜歡這種方式,它應該看起來像下面這樣:

if <cellvalue> is not null begin insert into <table> (...) values (...) end 
+0

我剛剛意識到這個問題有多大。爲什麼會彈出列表頂部? – shawnt00