我在TIMESTAMPDIFF
DB2
我的问题分为两部分:
首先,当我尝试在两个时间戳上使用它时,其中一个有一些空值,它会给我以下错误:
" SCE1.TIMESTAMP"在使用它的上下文中无效.. SQLCODE = -206,SQLSTATE = 42703,DRIVER = 4.16.53"
SCE1.TIMESTAMP
是具有空值的列,是否有一种方法只能对时间戳值起作用并忽略该列中的空值?
TIMESTAMPDIFF
计算如下:
One year has 365 days
One year has 52 weeks
One year has 12 months
One month has 30 days
One day has 24 hours
One hour has 60 minutes
One minute has 60 seconds
我想知道是否有办法使其更加准确,例如,如果两个时间戳都在28天(" 2月和#34;)到31个月(" 3月")之间超过月份。结果不会是准确的,因为函数知道月份是30天,有没有办法克服它。
答案 0 :(得分:0)
1)仅当两个项都为空时才计算函数。
case when stamp1 is null then null
when stamp2 is null then null
else timestampdiff( stamp1, stamp2 )
end
2)以前已经回答过,包括我在内。搜索,你应该找到。