在sql Excel中更改日期格式

时间:2013-12-10 12:43:25

标签: sql excel

我的数据日期格式为DD.MM.YYYY,但我需要DD/MM/YYYY

我尝试使用clng(DATE)int(DATE)format(DATE,'DD/MM/YYYY'),但它无效。

我在Windows7和ODBC服务器中使用Excel 2010通过向导创建查询

SELECT distinct `ZV162$`.`Sales Document`, `ZV162$`.`Schedule Line Number`
, `ZV162$`.`Document Date`, `ZV162$`.`Purchase order number`
, `ZV162$`.`Delivery block`, `ZV162$`.`Ship-to number`, `ZV162$`.`Ship-to name`
 , `ZV162$`.`Ship-to country`, `ZV162$`.`Unloading Point`, `ZV162$`.`Receiving point`
, `ZV162$`.`Incoterms (Part 1)`, `ZV162$`.`Loading Date`,  `ZV162$`.Plant
, `ZV162$`.`Delivery Number`, `ZV162$`.`Shipment Number`
, `ZV162$`.`Sea Shipment Number`, `ZV162$`.`Shipping Cond#`, `ZV162$`.`Trailer type`

FROM `ZV162$` `ZV162$`

日期在文档日期和加载日期

2 个答案:

答案 0 :(得分:0)

Excel会尽力自动处理日期。如果数据库上的文档日期和加载日期列是日期或时间戳类型,那么如果使用Range.CopyFromRecordSet或类似方法填充,则应该期望Excel将列格式化为日期。然后,您可以使用Excel单元格格式来选择分隔符是句点(。)还是斜杠(/)。

如果列是varchar类型,那么您可以尝试一些SQL函数,例如to_date()或其等效的SQL风格。

通常,如果您在SQL中操作列而不是使用VBA函数对它们进行后处理,那么您将拥有更好(更优雅/更高性能/可维护性)的解决方案。

答案 1 :(得分:0)

所以我读了一些东西做了一些测试,这里是正确的解决方案

    IIF(`ZVSHPtemp$`.F5 is null, null, dateserial(Right(`ZVSHPtemp$`.F5,4),mid
(`ZVSHPtemp$`.F5,4,2),left(`ZVSHPtemp$`.F5,2))) as [Planned date of shipment start]

这是它的工作原理! :)

所以回答我的问题是DATESERIAL