2013-01-08 164 views
1

我正在將SQL Server存儲過程轉換爲HiveQL。不在蜂巢QL

我如何轉換是這樣的:

SELECT * FROM table1 WHERE id NOT IN (7,6,5,4,2,12) 
+0

@bonCodigo,這是爲什麼用hibernate重新簽名?這與蜂巢不一樣。 –

+1

Hive現在支持NOT IN。見https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF – Solomon

回答

-3

按照documentation它說,你可以使用not in

的否定形式可以寫爲:

from DomesticCat cat where cat.name not between 'A' and 'B' 

from DomesticCat cat where cat.name not in ('Foo', 'Bar', 'Baz') 

當您在問題中嘗試查詢時,是否收到錯誤消息?

請根據參考文獻進行嘗試。

+0

是的,我得到了一個錯誤。 – MBZ

+0

@MBZ你能查看我剛剛更新的參考嗎? – bonCodigo

+4

最初的問題是關於HiveQL,而不是HibernateQL –

1

試試這個:

SELECT * FROM table1 WHERE NOT array_contains(array(7,6,5,4,2,12), id)