package io.trino.plugin.kdc.scalar;
import io.airlift.slice.Slice;
import io.trino.spi.function.Description;
import io.trino.spi.function.ScalarFunction;
import io.trino.spi.function.SqlNullable;
import io.trino.spi.function.SqlType;
import io.trino.spi.function.TypeParameter;
@Description("Return default value if the value is NULL else return value")
@ScalarFunction("nvl")
public final class HiveNvl
{
private HiveNvl() {}
@TypeParameter("T")
@SqlType("T")
@SqlNullable
public static Slice nvlSlice(@SqlNullable @SqlType("T") Slice value, @SqlNullable @SqlType("T") Slice defaultValue)
{
return (value == null) ? defaultValue : value;
}
@TypeParameter("T")
@SqlType("T")
@SqlNullable
public static Long nvlSlice(@SqlNullable @SqlType("T") Long value, @SqlNullable @SqlType("T") Long defaultValue)
{
return (value == null) ? defaultValue : value;
}
@TypeParameter("T")
@SqlType("T")
@SqlNullable
public static Double nvlSlice(@SqlNullable @SqlType("T") Double value, @SqlNullable @SqlType("T") Double defaultValue)
{
return (value == null) ? defaultValue : value;
}
@TypeParameter("T")
@SqlType("T")
@SqlNullable
public static Boolean nvlSlice(@SqlNullable @SqlType("T") Boolean value, @SqlNullable @SqlType("T") Boolean defaultValue)
{
return (value == null) ? defaultValue : value;
}
@TypeParameter("T")
@SqlType("T")
@SqlNullable
public static Object nvlSlice(@SqlNullable @SqlType("T") Object value, @SqlNullable @SqlType("T") Object defaultValue)
{
return (value == null) ? defaultValue : value;
}
}
nlv函数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.1函数 在js里面,可能会定义非常多的相同代码或者功能类似的代码,这些代码可能需要大量重复使用。虽然for循环...
- 2 - 函数 2.1 函数的概念 在 JS 里面,可能会定义非常多的相同代码或者功能相似的代码,这...
- 今天把R常用函数大体汇总了一下,其中包括一般数学函数,统计函数,概率函数,字符处理函数,以及一些其他函数; 1.数...
- 引入头文件 functional 为什么要用仿函数,用法方便 函数对象的仿函数有两种,一种是有返回值或者void,...