背景
あるログを検索しようとしてNRQLを書いていたが、合っているはずの比較がうまく動作しなかった。
NRQL
-- timestampがJanuary 1, 2025 0:00:00だが、以下はfalseになった
WHERE hourOf(timestamp) = 15
原因
NRQLでは、hourOfにtimestampを渡しただけでは 15:00のような文字列の出力になり、数値と比較することができない。
対応
第二引数に numeric を渡したところ、数値と比較ができるようになった。
NRQL
AND hourOf(timestamp, numeric) = 15
解説
NRQLのhourOfやminuteOfは、第二引数にformat (string or numeric) を渡すことができる。ここにnumericを渡すことで、数値として出力されるようになり、数値との比較が可能になる。
参考記事
NRQL: 時間ごとのファセット結果
https://docs.newrelic.com/jp/docs/nrql/nrql-references/nrql-group-results-across-time/