こんにちは。事業推進チームです。

データベース検索・更新ツールSkyLinkは、通常データベースに接続してデータの検索を行いますが、接続するデータベースによってはデータベース関数(SQL関数)と呼ばれる、あるまとまった処理を簡単に実行する仕組みが用意されています。

前回に引き続き今回も日付に関するデータベース関数(SQL Server用)をご紹介します。

DATEDIFF関数

構文

DATEDIFF ( datepart , startdate , enddate )

DATEDIFF関数は、startdate と enddate で指定された 2 つの日付間の差を、指定された datepart 境界の数で (符号付き整数値として) で返します。

Microsoft Learn DATEDIFF (Transact-SQL)

「指定されたdatepart境界の数で」というのが分かりにくいですが、日付の差分を求める際の単位の指定のようです。

単位の種類は以下となります。

datepart 名

datepart 省略形

year

y, yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

dy

day

dd, d

week

wk、ww

hour

hh

minute

mi、n

second

ss, s

millisecond

ms

microsecond

mcs

nanosecond

ns

例えば、DATEDIFF ( day , ‘2023-04-01’ , ‘2023-04-06’ ) とすると日数の差分の5が返されます。

使用例

日々の業務の中で、時間の猶予を見て優先度を決めるということは往々にしてあるかと思います。 例えば、「請求書を発行する際、先方の締め日が早い順に処理を行う」とか「配送部署が資材の用意をするとき、納品日を見て準備を行う」などです。

こういった時間が関わる業務を行うときに、対象の一覧から必要なものが一目で判断できると便利ですよね。

そこで今回は、受注のデータから優先度が高いものをピックアップするという処理を行ってみました。

まずは、受注のデータを抽出する際に、DATEDIFFを使い「納品日」が特定の日付以降のものだけを絞り込みます。

さらにSkyLinkでは、条件に合うデータの背景色を変えることができるので、この機能をDATEDIFFと組み合わせて「納品日」が7日以内の場合に背景色を赤色に設定しています。

加えて「請求日」項目から「今日から何日後の請求」となるかを表示させました。

これにより、納品日が近い受注が分かり優先すべき業務が簡単にわかるようになります。




## まとめ

今回の例では、DATEDIFFを複数個所に設定する必要があるため準備が面倒に感じられるかもしれません。 しかしSkyLinkでは、作成した検索条件をコマンドファイルとして保存できるため、一度作成してしまえば2回目以降はコマンドファイルを実行するだけで簡単に検索結果を取得することが可能です。

SkyLinkについての疑問点やご質問等ございましたらお気軽にお問い合わせください。体験版・体験サイトのご用意もございます。またPowerBIと組み合わせたデータ活用ソリューションの提供も行っております。