SELECT語句我設置WHERE條件的一部分,在外部配置文件作爲參數,就像這樣(COL2
充滿字符串值):選擇其中列表或者選擇所有最優雅的
SELECT COL1
,COL2
FROM TABLE1
WHERE COL2 = $external_parameter
現在我有一個更復雜的案例,我需要將外部參數作爲列表。只要列表中的值爲COL2
,應該選擇,但是如果沒有提供列表或某種「空」標籤,則應再次選擇每個值。我想出了一個主意,但它不工作方式:
SELECT COL1
,COL2
FROM TABLE1
WHERE $external_list = ('') or COL2 IN $external_list
與此類似,聲明將提供一個空列表時的COL2
所有元素是真實的,真正對列表中的每一個元素如果提供填充列表,則與列表匹配。
但是,如果我提供了一個充滿名單也不會在比較的WHERE語句上半年工作:
('entry_a', 'entry_b') = ('')
有任何疑問這將使它的工作 - 最好在一條線哪裏聲明?
提供不爲我的工作,我提供一個列表作爲外部參數所有答案,所以它總是來'('entry_a','entry_b')=''',這似乎不適合我。我是否需要以不同的格式在外部參數中提供列表? – aldorado
'WHERE'在$ external_list或COL2 IN $ external_list' – adrianm
這是最適合我的情況的優雅的東西,我想我會使用它。但它不包括有人不小心將列表設置爲'('entry_a','entry_b','')'的情況。我需要爲此找到一張支票。但我猜想它對我有用。 – aldorado