【クエリビルダ】フィルター：Sharperlight日付動的指定用の構文をまとめてみる

Sharperlightのクエリビルダを使用してクエリを作成する際、日付フィールドをフィルターとして使用してデータの絞り込みを行うことが多々あります。
Sharperlightには特別な日付指定を行う構文があるので、その一覧を作成し随時更新していこうと思います。
<cr>
日付範囲を指定する前提で一覧を作成しています。
<INS>現在の日付を**2023/11/16**とする。</INS>
<INS>現在の時刻を**11:06:50.000**とする。</INS>

# 一般 #
## DATE ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/18a203d6-7dc0-0718-0cfb-e9a10150a902.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 <INS>00:00:00.000</INS>' AND '20231116 <INS>23:59:59.998</INS>'</dd>
</dl>

## DATE now ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/97f86abd-dce1-4b72-fc08-23654e5624c0.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付および現在の時刻</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 <INS>11:06:50.000</INS>' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE -1y ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/0ffd5329-a525-2d21-472c-301356dc64d9.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の一年前</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>2022</INS>1116 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE -1m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/ca31ca50-173d-8958-0ace-eff64000e7a4.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の一月前</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '2023<INS>10</INS>16 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE -1d ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/f7ad00e9-a76c-054a-d926-410024161534.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の一日前</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '202311<INS>15</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE -1y -1m -1d ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/77da4d03-23e8-d306-ced5-78806a639fe9.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の一年前、一月前そして一日前</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20221015</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE 1y ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/879d24a7-cff1-b334-69f3-6566ed3046f1.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</dd>
  <dt>TO</dt>
  <dd>現在の日付の一年先</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '<INS>2024</INS>1116 23:59:59.998'</dd>
</dl>

## DATE 1m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/02557566-9437-6f6b-d5c3-7c7b8aed60d1.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</dd>
  <dt>TO</dt>
  <dd>現在の日付の一月先</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN 'BETWEEN '20231116 00:00:00.000' AND '2023<INS>12</INS>16 23:59:59.998'</dd>
</dl>

## DATE 1d ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/df5ca361-e076-85e0-8fb9-67dcaf1fb284.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</dd>
  <dt>TO</dt>
  <dd>現在の日付の一日先</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '202311<INS>17</INS> 23:59:59.998'</dd>
</dl>

## DATE 1y 1m 1d ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c4db27d1-d74d-561d-b49d-52b4b63683ff.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</dd>
  <dt>TO</dt>
  <dd>現在の日付の一年先、一月先そして一日先</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '<INS>20241217</INS> 23:59:59.998'</dd>
</dl>

# 年 #
## DATE oys ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c7a72630-449b-55e8-923f-6aa8fc5dcf2d.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付を元にした<INS>年の始め</INS> (年の始め - <INS>オフセット前</INS>)</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20230101</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE oys -11m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/b32d449c-c597-09c3-f6e6-9174fa5307bb.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付から<INS>年の始めを先に計算</INS>、そこから<INS>11カ月遡った日付</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20220201</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE ays ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/aad84a23-deb4-b0ea-6bb7-9832a23b13d4.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付を元にした<INS>年の始め</INS> (年の始め - <INS>オフセット後</INS>)</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20230101</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE ays -11m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/e408a475-442f-1c76-4b46-c0e02a98bd02.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の<INS>11カ月前を先に計算</INS>、その<INS>算出した日付の年の始め</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20220101</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE oye ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c0a7632f-1325-0269-b697-ea400f132761.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付を元にした<INS>年の終わり</INS> (年の終わり - <INS>オフセット前</INS>)</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '<INS>20231231</INS> 23:59:59.998'</dd>
</dl>

## DATE oye 2m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/bf0c2e7a-d5cb-4428-8877-075eb811e0d4.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付から<INS>年の終わりを先に計算</INS>、そこから<INS>2カ月先の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '<INS>20240229</INS> 23:59:59.998'</dd>
</dl>

## DATE aye ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/3ff03a8b-b217-5f59-b902-f3bbd706117d.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付を元にした<INS>年の終わり</INS> (年の終わり - <INS>オフセット後</INS>)</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND <INS>'20231231</INS> 23:59:59.998'</dd>
</dl>

## DATE aye 2m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/3c1ff233-1da0-55f8-55b7-dc4bf18bd3e3.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付</INS></dd>
  <dt>TO</dt>
  <dd>現在の日付の<INS>2カ月先を先に計算</INS>、その<INS>算出した日付の年の終わり</INS></dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '20231116 00:00:00.000' AND '<INS>20241231</INS> 23:59:59.998'</dd>
</dl>

# 月 #
## DATE oms ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/22fa6825-8bf1-ec11-0f73-dccf6cc02832.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付を元にした<INS>月の始め</INS> (月の始め - <INS>オフセット前</INS>)</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20231101</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>


## DATE oms -2m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/24f6674e-8d0a-4b43-a0b1-5efcb17add54.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付から<INS>月の始めを先に計算</INS>、そこから<INS>2カ月遡った日付</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20230901</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>

## DATE ams ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c85de37a-41c1-13cc-62d7-da8a475e90eb.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付を元にした<INS>月の始め</INS> (月の始め - <INS>オフセット後</INS>)</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20231101</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>


## DATE ams -2m ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/80804052-ef2d-1625-b070-898c3cdd6674.png)
<dl>
  <dt>FROM</dt>
  <dd>現在の日付の<INS>2カ月前を先に計算</INS>、その<INS>算出した日付の月の始め</dd>
  <dt>TO</dt>
  <dd>現在の日付</dd>
  <dt>作成されるSQL文</dt>
  <dd>BETWEEN '<INS>20230901</INS> 00:00:00.000' AND '20231116 23:59:59.998'</dd>
</dl>