2016-07-01 2 views
-3

У меня есть столбец с типом данных varchar. Мне нужно преобразовать его в десятичный тип данных в sql server 2014? Например, значение varchar .0462500 в десятичный 4.62500преобразование данных из varchar в десятичный

Я видел некоторые похожие вопросы, так что это не сработало для меня.

Благодарим вас за внимание и помощь!

+1

Где ваш код! что ты уже испробовал? Это отличное место для начала: http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – Marusyk

+3

Что именно вы пробовали и как это «не работает» для вас? –

ответ

0

Если вы знаете, что ваши VARCHAR переменные потребуется примерно такой же коэффициент конверсии, вы могли бы просто использовать функцию CAST(), чтобы преобразовать их и затем выполнить необходимые умножения:

SELECT CAST(YourValue AS DECIMAL(7,5)) * 100 

Аналогично метод CONVERT() существенно ACCOMPLISH то же самое с помощью другого синтаксиса:

SELECT CONVERT(DECIMAL(7,5),YourValue) * 100 

enter image description here

+0

Спасибо Rion Willoams – Anj

+0

Привет @AnjanaH, если этот или любой ответ решил ваш вопрос, пожалуйста, рассмотрите [его принятие] (http://meta.stackexchange.com/q/5234/179419), нажав галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. – AHiggins

+0

@ Rion Williams. Ваш ответ был именно тем, что я хотел. Спасибо, Рион. Я отметил это как ответ – Anj

0

Вы можете использовать функции Cast или Convert.

Преобразовать:

select convert(decimal(10,5),.0462500)*100 

В ролях:

select cast(.0462500 as decimal(10,5))*100 

Примечание: Если есть неверные данные (данные, которые не могут быть преобразованы), вам, возможно, придется использовать Try_Convert или Try_Parse вместо этого.

Try_Convert:

select try_convert(decimal(10,5),.0462500)*100 

Try_Parse:

select try_parse('.0462500' as decimal(10,5))*100 
Смежные вопросы