Metabaseで数字8桁で記録された日付を扱う

COBOL派生の環境から移行された情報システムを利用していると、日付が8桁の数字 (例: 20200621) で日付を格納していることがあると思う。 Metabaseでは、画面から日付をdatepickerで入力して検索条件等に利用できるのだが、それは当然のように数字8桁で格納された日付とは一致や比較できない。 データベースはOracle Databaseなので、dateparse()で数字8桁を日付データに変換できると思ったのだが、エラーになってできなかった。 逆に、Metabaseの与える日付を数字8桁に変換することで一致や比較ができるようになったので、例を書いておく。

select
	*
from
    table1
where
	column1 = 'DATA'
	[[and StartDate <= to_char({{TODAY}}, 'yyyymmdd')
	  and EndDate >= to_char({{TODAY}}, 'yyyymmdd')]]

ここで、TODAYがMetabaseが与える変数である。

No comments:

Post a Comment

Windows To GoがWindows 10 2004でなくなってしまった

Microsoft Windows 10をMay 2020 (2004)にアップデーしたら、Windows To Goがコントロールパネルになくなってしまった。 廃止されてしまったらしい。 BIOSを更新するために使っていたので不便になってしまうが、仕方がない。 ...