2016-12-15 14 views
0

Я пишу .txt из файла .xls. Я использую JasperETL, чтобы читать Excel и вставлять данные в MSSQL, а затем писать .txt-файл.Чтение и запись чисел в .txt с использованием ETL и SQL

В файле Excel, у меня есть номер (количество денег), который выглядит, как это 20.000,00, но иногда из-за региональные настройки, что количество ввозится в SQL, как 20,000.00 (сепараторы инвертируется -., Становится и становится. ,).

Мой окончательный формат должен выглядеть так: 20000.00 и для этого я использую функцию REPLACE в MSSQL.

Есть ли способ, используя запрос T-SQL, чтобы решить эту проблему?

Я думал использовать старый способ и делать CASES для каждого возможного формата, что-то вроде этого.

CASE WHEN sum like 'x.xxx,xx' THEN... 
WHEN sum like 'x,xxx.xx' THEN... 

Но я также ищу альтернативы.

Спасибо заранее,

R

+0

Не знакомы с JasperETL, но я бы рекомендовал применять единый стандарт как можно раньше. Если исходные файлы Excel являются основной причиной этого варианта, вы можете обнаружить и импортировать равномерно в JasperETL? –

ответ

0

Я фактически устранили эту проблему с помощью SQL Query

Если кто-то в моей ситуации, вот ответ

CASE WHEN CHARINDEX('.',@test) > CHARINDEX(',',@test) THEN REPLACE(@test,',','') 
WHEN CHARINDEX('.',@test) < CHARINDEX(',',@test) THEN REPLACE(REPLACE(@test,'.',''),',','.') 

Replace @test with your column 

 Смежные вопросы

  • Нет связанных вопросов^_^