我支持將平面文件輸入轉換爲SqlServer數據庫表的ETL過程。該代碼幾乎是100%的T-SQL,並在數據庫中運行。我不擁有代碼,不能更改工作流程。我只能幫助配置接收文件數據並將其轉換爲表格數據的「翻譯」SQL(稍後會詳細介紹)。使用逗號分隔符將nVarChar轉換爲十進制數
現在的免責聲明,都閃開......
我們的一個文件提供者最近改變了他們是如何代表的貨幣金額從'12345.67'
到'12,345.67'
。我們的SQL轉換值看起來像SELECT FLOOR(CAST([inputValue] AS DECIMAL(24,10)))
並且不再有效。也就是說,這個逗號打破了演員陣容。
考慮到我有終值存儲爲Decimal (24,10)
數據類型(是的,我意識到FLOOR
蓋過後的小數點精度 - 設計者是不是在與客戶同步),我該怎麼辦有效地投射這個字符串?'
謝謝你的想法。
做了這些答案的任何解決您的問題? – 2010-08-19 13:05:32
@KM:我現在正在與我們的DBA小組討論這些建議。從我的結尾,提出的常用方法(使用Replace())似乎可行。將盡快更新。 – SethO 2010-08-19 14:16:50