2015-11-26 39 views
0

表「PREIS_TAB」中的列摺疊是「E_PREIS decimal(7,2)」。 在下面的示例中,H2-CSVWRITE在CSV輸出中創建一個點「。」。 在 「鄭樹森E-PREIS」 -column - 它的工作原理與設計:H2 csvwrite:如何用小數點(7,2)中的逗號替換小數點 - 列

call CSVWRITE ('D:\H2-Database\User-Daten\SQL\H2-DB_01/E_PREIS_out.csv', ' 
       select DATUM   as "Datum" 
        , sum(E_PREIS) as "Summe E-Preis" 
       from PREIS_TAB 
       group by DATUM 
       order by DATUM desc 
      ', 'charset=UTF-8 fieldSeparator=;'); 

但是當我打開的CSV文件用Excel(位置德國)的 「鄭樹森E-PREIS」 -column解釋不作爲貨幣(Excel試圖轉換成不同的日期值) - 因爲「。」而不是在該欄中的「,」。

我曾嘗試更換,但這個工程的煤焦領域唯一:-(...並與一些CAST-變化 沒有成功過。

在計算器論壇在這裏我發現下面的技巧,但有仍然是一個SQL-錯誤 - 顯示爲「N [*]」 - 或者我需要一個完全不同的語法:

 , cast(format((sum(E_PREIS)) , 'N', 'DE-DE') as varchar(20)) 

如何強制H2-CSVWRITE以10進制格式爲「E_PREIS」輸出列逗號
而不是(!)帶小數點?

+0

這可能會實現,以及自動化的,但我沒有測試它:'選取基準爲「基準」,取代(PREIS「 。',',')作爲「Summe E-Preis」from(select datum,sum(e_preis)from preis_tab group by datum)order by datum desc' –

回答

0

如果您要手動打開該文件,則需要轉至Data功能區上的Get External Data選項卡;選擇From Text。文本導入嚮導將打開,並在步驟3中允許您指定值的格式。第3步的高級選項卡允許您指定十進制和千位分隔符。

如果您在VBA打開這個,這個可以用Workbooks.OpenText方法