presto中是否有任何类似的NVL?
我需要检查字段是否为NULL并返回默认值。
我这样解决了这个问题:
List<Category> catList = Control.getCatList();
editItemCatComboBox.removeAllItems();
for(Category cat: catList) //This populates the 1st JComboBox
{
editItemCatComboBox.addItem(cat);
}
String selectedCat = editItemCatComboBox.getSelectedItem().toString(); //maybe this line is wrong
//editItemDialog.validate();
for (Category cat: catList) //This block should populate the 2nd JComboBox
{
if(selectedCat.equals(cat.getCatName()))
{
List<Item> itemList = cat.getCatItems();
editItemItemsComboBox.removeAllItems();
for(Item itm: itemList)
{
editItemItemsComboBox.addItem(itm);
}
}
}
editItemDialog.setVisible(true);
但我很好奇是否有可以简化此代码的内容。
答案 0 :(得分:26)
ISO SQL函数是COALESCE
coalesce(my_field,0)
https://prestodb.io/docs/current/functions/conditional.html
P.S。 COALESCE
可以与多个参数一起使用。它将返回第一个(从左侧)非NULL参数,如果未找到则返回NULL。
e.g。
coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)