Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
tanya.avapu Member Откуда: Сообщений: 19 |
Здравствуйте, подскажите, пожалуйста, как можно обойти эту ошибку? Есть поле формата vharChar(2000), в нем идет запись значений в цифрах. По этому полю нужно просчитать сумму: select Sum(A) from table1 В итоге получаю ошибку 8117. Пробовала использовать функции конвертации: 1. select SUM (convert(int,A)) from table1 В итоге Сообщение 245, уровень 16, состояние 1, строка 25 Conversion failed when converting the varchar value '1 ' to data type int. 2. select SUM (Sum(isnull(cast(A as float),0))) from table1 Сообщение 8114, уровень 16, состояние 5, строка 16 Error converting data type varchar to float. Как корректно посчитать сумму? Заранее спасибо за помощь! |
7 сен 15, 01:46 [18116730] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
|
||
7 сен 15, 02:18 [18116745] Ответить | Цитировать Сообщить модератору |
tanya.avapu Member Откуда: Сообщений: 19 |
Гавриленко Сергей Алексеевич, Нет, к сожелению. Поле называется Комментарий, но пользователь в него вносит числовое значение. И мне нужно его просуммировать. |
7 сен 15, 02:23 [18116748] Ответить | Цитировать Сообщить модератору |
felix_ff Member Откуда: Moscow Сообщений: 1698 |
tanya.avapu,IF OBJECT_ID('tempdb..#tmp_table') IS NOT NULL DROP TABLE #tmp_table CREATE TABLE #tmp_table (value INT) INSERT INTO #tmp_table (value) SELECT CAST(ISNULL(NULLIF(LTRIM(RTRIM(A)), ''), '0') AS INT) FROM table1 WHERE A NOT LIKE '%[^0-9]%' SELECT SUM(value) FROM #tmp_table или ;WITH CTE (Value) AS ( SELECT CAST(ISNULL(NULLIF(LTRIM(RTRIM(A)), ''), '0') AS INT) FROM table1 WHERE A NOT LIKE '%[^0-9]%' ) SELECT SUM(Value) FROM CTE |
7 сен 15, 03:39 [18116760] Ответить | Цитировать Сообщить модератору |
angel_zar Member Откуда: Барнаул Сообщений: 902 |
select SUM (TRY_CAST(A AS INT)) from table1 |
7 сен 15, 06:58 [18116788] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
И что/кто помешает ему внести туда нечисловое значение ? |
||
7 сен 15, 08:09 [18116832] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |