Превращение Percentile_cont / disc (Median) в скалярную функцию

Я не думаю, что вы можете сделать это с помощью встроенного метода split. Таким образом, у вас есть два варианта:

1) Сделайте свой собственный split

2) Итерации через массив после вызова split и удаления пустых элементов

Если вы сделаете свой вы можете просто объединить эти два параметра

public List<String> split(String inString)
{
   List<String> outList = new ArrayList<>();
   String[]     test    = inString.split("/");

   for(String s : test)
   {
       if(s != null && s.length() > 0)
           outList.add(s);
   }

   return outList;
}

, или вы можете просто проверить, находится ли разделитель в первой позиции, прежде чем вы вызовете split и проигнорируете первый символ, если это произойдет:

String   delimiter       = "/";
String   delimitedString = "/Test/Stuff";
String[] test;

if(delimitedString.startsWith(delimiter)){
    //start at the 1st character not the 0th
    test = delimitedString.substring(1).split(delimiter); 
}
else
    test = delimitedString.split(delimiter);
0
задан PDF newb 27 February 2019 в 22:37
поделиться

1 ответ

Вы должны просто использовать percentile_cont() или percentile_disc() оконные функции:

select percentile_cont(0.5) within group (order by n) over (),
       percentile_disc(0.5) within group (order by n) over ()      
from t;

Нет необходимости заново изобретать колесо. [ 116]

0
ответ дан Gordon Linoff 27 February 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: