2017-12-27 5 views
2

KDBの2タイムスタンプの時差をどのように見つけますか?kdbのタイムスタンプの差を確認する

たとえば、

q)d1:2019.02.16D12:16:00.000 
q)d2:.z.P 

この2つのタイムスタンプの日数の違いを調べるにはどうすればよいですか?

q)d1-d2 //in day 

答えて

4

あなたは、日付データ型にキャストし、引くことができます。

(`date$d1)-`date$d2 

または

あなたは、単にチェックする (`date$d1)-`date$d2を行うことができ必要精度によっては
d1.date - d2.date 

https://code.kx.com/q/ref/casting/#cast

+0

ドット表記は、select文に含まれていない限り使用しないでください。 通常の関数では、ドット表記は失敗します。 '{x.date} .z.p'です。 –

+0

dt.dateをd2.dateに置き換えてください。 – Utsav

1

日の違い。あなたは、その後、24時間の正確な期間と懸念している場合は、ロジックは、タイムスタンプの時間要素を含むように拡張する必要があります。

24時間が最後の日に合格しているかどうかを確認し
((`date$d1)-`date$d2)-0>(`time$d1)-`time$d2 

また、各タイムスタンプの24時間単位の増分を1D00:00で割り、floorを使用して比較することもできます。

{floor(x-y)%1D00:00}[d1;d2] 
関連する問題