2015-12-15 189 views
0

是否有更好的方法來執行以下操作來檢查列是否爲空/空?檢查列是否爲空或空

(v.file_name is not null and v.file_name != '' 
and v.file_last_known_location is not null and v.file_last_known_location != '') 
+0

length(trim(filename))> 0也許? – bassxzero

+1

如果您的字段索引正確,我認爲您的發佈解決方案將超越使用諸如「coalesce」之類的函數,否定索引。 – sgeddes

回答

1

我想這是更清晰

COALESCE(v.file_name,'') != '' AND COALESCE(v.file_last_known_location,'') != '' 

在某些系統中,這可能表現更差(如@sgeddes注)對索引列。

1

即使當前查詢看起來很笨拙,它仍然會執行建議的答案,當您的索引號爲file_namefile_last_known_location時。

functionWhere子句使用將使用Index限制優化器。所以更好使用原始查詢

(v.file_name is not null and v.file_name != '' 
and v.file_last_known_location is not null and v.file_last_known_location != '')