2013-06-13 3 views
0

У меня есть таблица с 20K строк данных. Один столбец varchar содержит информацию о валюте в формате $ xxx, xxx, xxx.00. Я хотел бы создать дополнительный столбец с типом десятичного числа и скопировать данные varchar в него, очевидно, при отключении $ и.Как скопировать столбец varchar с значением валюты в десятичный в SQL Server?

Я играл с отливом и конвертированием, смешанным с отделкой и заменой функций, но еще не успел получить это в новой колонке.

Поскольку мы делаем много будущих вычислений по данным, мы хотим, чтобы он конвертировался один раз вместо необходимости его преобразования для каждого вычисления.

Любые предложения были бы высоко оценены!

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

--Kent

ответ

1

Попробуйте заменить $ и '', а затем конвертировать. Вы должны быть Хорошими

CONVERT(NUMERIC(28,4),REPLACE(REPLACE(stringColumn,'$',''),',','')) 

SQL Fiddle here.

+0

Это сработало! Большое спасибо! –

0
Select Cast(Replace(Replace(ColName, '$', ''), ',', '') as Money) 
Смежные вопросы