はじめに
今回は、intra-mart標準機能であるViewCreatorを利用した開発での注意点をご紹介します。
発生した事象
案件情報を表示する機能を開発中に、表示項目の「申請日」を検索する機能が予期せぬ動作をしました。
例えば「2024/05/31 10:20:30」に申請されたデータは、「2024/05/01~2024/05/31」という範囲検索を行っても、5月31日のデータとして抽出されませんでした。

原因と対処法
原因は、検索欄入力日付の「~2024/05/31」は内部では「2024/05/31 0時0分0秒以前」のデータを対象としているためでした。
intra-martの案件情報テーブルの「申請日」はデータ型がtimestamp型のため、時刻まで保存されている。
ViewCreatorの標準検索機能は「×日以前」という検索を処理する際に、「×日の0時0分0秒以前」としてデータの検索を行う。
これらの仕様への対処法は、「申請日」のデータを案件情報テーブルからそのまま使用するのではなく、 時分秒を無視する形で処理を作成することです。
具体的には、物理View作成時にSQLで時分秒を00:00:00に設定する、もしくは時分秒を切り捨てるような処理を追加します。
これにより、日付のみを基準にした検索が可能となり、期待通りのデータ抽出が行えるようになります。
【物理Viewの作成について】
このような日付検索機能の仕様は、データの正確な抽出に影響を及ぼすため、開発時には気を付けてください。
正しいデータ抽出を保証するためにも、ViewCreatorの日付検索機能の仕様を理解し、適切な対策を講じていきましょう。