在 Redshift 中比较时间的有效方法
Efficient way to compare time in Redshift
如何只比较 Redshift 中 TIMESTAMP 列的时间元素?
我发现最接近的方法是对 HOUR、MINUTE 和 SECOND 元素多次使用 EXTRACT 并将它们连接在一起,但它似乎效率不高。我也考虑过 plpythonu UDF。
提前致谢。
最终我在 plpythonu 中写了一个简单的 UDF 来满足特定需求:
创建或替换函数compare_time(timestamp1_ TIMESTAMP, timestamp2_ TIMESTAMP)
RETURNS 布尔值
不可变的 $$
导入日期时间
start = datetime.time(timestamp1.hour, timestamp1_.minute, timestamp1_.second)
end = datetime.time(timestamp2.hour, timestamp2_.minute, timestamp2_.second)
if _start <= _end:
return 对
return错
$$ 语言 plpythonu;
如何只比较 Redshift 中 TIMESTAMP 列的时间元素? 我发现最接近的方法是对 HOUR、MINUTE 和 SECOND 元素多次使用 EXTRACT 并将它们连接在一起,但它似乎效率不高。我也考虑过 plpythonu UDF。
提前致谢。
最终我在 plpythonu 中写了一个简单的 UDF 来满足特定需求:
创建或替换函数compare_time(timestamp1_ TIMESTAMP, timestamp2_ TIMESTAMP) RETURNS 布尔值 不可变的 $$ 导入日期时间
start = datetime.time(timestamp1.hour, timestamp1_.minute, timestamp1_.second) end = datetime.time(timestamp2.hour, timestamp2_.minute, timestamp2_.second)
if _start <= _end: return 对 return错
$$ 语言 plpythonu;