这可能是一个非常简单的问题。
我在Excel中有一个非常基本的查询,从Sql Server 2008 R2上的数据库中拉取一些值。
这个数据库中的日期字段存储为datetime。在这个查询中,我不关心时间部分,只想选择日期。我尝试使用Cast或Convert,但两者都将sql中的日期(yyyy-mm-dd)返回到Excel中。Excel将其识别为文本而不是日期,因此一旦数据进入Excel,我无法进行日期过滤。
如果我在Excel中使用datepart(),它会显示为日期,我可以按预期进行过滤,但我希望直接从查询中返回的数据作为Excel可以过滤的日期值。
以下是我的示例查询:
当将其返回到Excel时,返回的内容如下所示:
我在Excel中有一个非常基本的查询,从Sql Server 2008 R2上的数据库中拉取一些值。
这个数据库中的日期字段存储为datetime。在这个查询中,我不关心时间部分,只想选择日期。我尝试使用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时,返回的内容如下所示: