我的数据日期格式为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$`
日期在文档日期和加载日期
答案 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