在qlikview中,我可以通过将时间戳格式设置为: -
,以毫秒为单位获取时间戳SET TimestampFormat='MM/DD/YYYY hh:mm:ss.fff';
我想知道是否有办法在qlikview中获得时间戳到微秒。
答案 0 :(得分:4)
从TimeField获取微秒的公式:
((frac(TimeField) * 86400000) - floor(frac(TimeField) * 86400000)) * 1000 as Micro
我会使用这个公式进行格式化:
Timestamp(TimeField - (Micro/86400000000)) & Num(floor(Micro), '000') as TimeStamp
答案 1 :(得分:1)
据我可以从QlikView帮助中确定,没有微秒的格式说明符,只有几毫秒。
如果你需要从一段时间内获得微秒值,我会迅速将下面的内容放在一起(它可能会做得更整齐)。在这里,我假设您的输入时间字段称为TimeField
。我们可以使用以下方法获得毫秒数:
=((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000
为简单起见,我将调用上述公式MillisecondCount
。然后,使用此字段,我们可以计算微秒数:
=floor(((MillisecondCount)-floor(MillisecondCount))*1000)
最后,获得微秒的完整公式变为:
floor(((((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000)
-floor(((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000))*1000)
然后您可以使用num()
对其进行格式化,并将其附加到时间戳字符串。