def coalesce(*arg): for el in arg: if el is not None: return el return None
2013/9/4 Russell Jurney <russell.jur...@gmail.com> > Suggest if OP is aware of jython implementation, his question is resolved. > > Sent from my iPhone > > On Sep 4, 2013, at 9:40 AM, Something Something <mailinglist...@gmail.com> > wrote: > > > Serega - I think you missed this line: > > > > "....I know it will be very (very) easy to write this, but just don't > want > > to create one if one already exists....." > > > > There's a saying, don't code something that's already been coded! "Code > > Reuse" for the win! > > > > Anyway, seems like the simple answer is "NO, this doesn't exist in > > Piggybank". Thanks. > > > > > > > > On Wed, Sep 4, 2013 at 9:10 AM, Serega Sheypak <serega.shey...@gmail.com > >wrote: > > > >> Use simple jython UDF. Its 3 lines of code > >> 04.09.2013 18:04 пользователь "Sajid Raza" <windcl...@gmail.com> > написал: > >> > >>> For my two cents' worth I agree, it's nicer to have coalesce than the > >>> conditional operator. > >>> > >>> On Sep 4, 2013, at 8:50 AM, Something Something < > >> mailinglist...@gmail.com> > >>> wrote: > >>> > >>>> What if you've 10 fields? > >>>> > >>>> > >>>> On Wed, Sep 4, 2013 at 4:30 AM, Ruslan Al-Fakikh < > metarus...@gmail.com > >>>> wrote: > >>>> > >>>>> Hi, > >>>>> > >>>>> I think you could mimic it with an expression like this: > >>>>> b = foreach a generate ((field1 is null) ? ((field2 is null) ? null : > >>>>> field2) : field1); > >>>>> > >>>>> Hope that helps, > >>>>> Ruslan > >>>>> > >>>>> > >>>>> On Wed, Sep 4, 2013 at 9:50 AM, Something Something < > >>>>> mailinglist...@gmail.com> wrote: > >>>>> > >>>>>> Is there a UDF in Piggybank (or somewhere) that will mimic > >>> functionality > >>>>> of > >>>>>> the COALESCE function in MySQL: > >> > http://www.w3resource.com/mysql/comparision-functions-and-operators/coalesce-function.php > >>>>>> > >>>>>> I know it will be very (very) easy to write this, but just don't > want > >>> to > >>>>>> create one if one already exists. I looked but couldn't find one. > >>>>>> > >>>>>> Please let me know. Thanks. > >> >