これはおそらく非常に単純な質問です。
Sql Server 2008 R2 のデータベースからいくつかの値を取得する非常に基本的なクエリが Excel にあります。
このデータベースの日付フィールドは日時として保存されます。このクエリでは、時間の部分には関心がないので、日付のみを選択したいと考えています。Cast または Convert を使用してみましたが、どちらも SQL の日付 (yyyy-mm-dd) を Excel に返します。Excel はこれを日付ではなくテキストとして認識するため、データが Excel にあるとテーブルで日付フィルターを実行できません。
Excelでdatepart()を実行すると、日付として表示され、期待どおりにフィルタリングできますが、クエリから直接取得したデータをExcelがフィルタリングできる日付値として返す必要があります。
以下は私のサンプルクエリです:
SELECT order_header.oh_id,
order_header.oh_order_number,
order_header.oh_datetime,
convert(date, order_header.oh_datetime, 103) as 'ConvertOrderDate',
cast(order_header.oh_datetime as date) as 'CastOrderDate'
FROM order_header
WHERE order_header.oh_datetime >= '2013-09-01'
これを Excel に返すと、次のように返されます。