2013-12-10 42 views
-1

我有日期格式的數據,如DD.MM.YYYY,但我需要DD/MM/YYYY在Excel中更改Date的格式

我試過使用clng(DATE),int(DATE)format(DATE,'DD/MM/YYYY')但它沒有奏效。

我使用Excel 2010在Windows7和ODBC服務器通過嚮導創建查詢

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

在Excel中,你嘗試過'= VALUE(SUBSTITUTE(A1, 「」, 「/」))'? (也許用';'而不是',') – pnuts

+0

我想在查詢中做 –

+0

你能告訴我們你的查詢嗎? –

回答

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

0

Excel中力圖自動處理日期。如果數據庫上的Document Date和Loading Date列是Date或Timestamp類型,那麼如果使用Range.CopyFromRecordSet或類似方法填充,則應該期望Excel將該列格式化爲日期。然後可以使用Excel單元格格式來選擇分隔符是句點(。)還是斜槓(/)。

如果這些列是varchar類型的,那麼你可以嘗試一些SQL函數,比如to_date()或者它的等價類。

一般來說,如果您操縱SQL中的列而不是使用VBA函數對它們進行後處理,您將擁有更好的(更優雅/性能/可維護)解決方案。