SQL 2008 - простая логика запросов.SQL Multiplication - Update Query
В моей таблице: TableName, у меня есть 3 столбца [Корабль Qty], Размер, Кол-во.
Значение по умолчанию для Qty равно NULL. Я написал Update Query для обновления столбца: Qty. Мне нужно умножить размер [Ship Qty] *.
Колонка: Размер nvarchar. Он несет в себе два
Условия работы1) Если значение равно 60 EA или 3 ML, мне нужно рассматривать только 60 или 3 или 3,5 ...
2) Если значение 60X3 ML, мне нужно, чтобы рассмотреть 60X3, который равен 180. Затем это умноженное значение будет умножено на [Корабль Qty].
update [TableName]
set Qty = [Ship Qty] * CONVERT(INT, (Size)) * CONVERT(Float, (Size))
WHERE Size > 0
AND Size > 0
AND Qty IS NULL
Ship Qty Size Qty
1 100 EA 100
3 60 EA 180
2 60X3ML 360
В приведенной выше таблице столбец: количество обновляется с помощью SQL-запроса. Мой запрос вызывает исключение.
ЧТО исключение? И столбец количества, называемый 'Qty' или' [Ship Qty] '? И почему вы умножаетесь на 'Size' дважды? И как указывает Мат, какой ответ вы ожидаете от 3, умноженного на «EA»? –
'Размер> 0 И Размер> 0'? Преобразование 'Size' в Int и Float? Когда это явно не в вашей выборке? – Mat
Не 'CONVERT (INT, (Размер))' пытается (и не удается) отличать «EA» как целое число? –