2010-12-29 3 views
0

Мне нужна помощь в SQL-запросе.Текст для преобразования с плавающей точкой или десятичной точностью

У меня есть таблица вроде

A | B | C
1 | 1.3 | p
2 | 2,6 | с

полей (А- тип INT) (В - типа (текст)) (С-типа (NVARCHAR))

мне нужно умножить (некоторое значение с (тип B (текст)) пример (1.3 X b)), поскольку x это возможно.

пожалуйста, дайте мне знать

+0

Истинное исправить это исправить дизайн таблицы. Мало того, что текст является плохим выбором для хранения чисел, которые вы ожидаете делать календарями, он устарел и НЕ будет в следующей версии SQL Server. Это вопрос «как можно скорее исправить». – HLGEM

ответ

3

От MSDN CAST and CONVERT:

Попробуйте что-то вроде этого:

SELECT CONVERT(decimal(10,5),(CAST(B AS varchar(10)))) * MyValue 
AS MyMultipliedValue FROM TABLE 
+0

привет спасибо за ответ ур, но он показывает Явное преобразование из текста типа данных в десятичный не допускается. эта ошибка – raja

+0

@raja: OK! Проверял таблицу конверсий в упомянутой статье, и текст в десятичном формате действительно не разрешен. Я редактирую свой пост. – LaGrandMere

+0

@raja: во-первых, вы произносите свой текст в виде varchar, затем преобразуете его в десятичный. Фактически, конвертер может быть не нужен, поскольку он может быть неявным. – LaGrandMere

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