Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 найти сумму цифр значения поля  [new]
MaximuS_G
Member

Откуда:
Сообщений: 1184
Всем добрый день!
Подскажите, пожалуйста, как можна найти сумму цифр в значениях по полю ?
Например:
POLE1
1111 = 4
2222 = 8
...
123 = 6

Задачу нашел на сайте Sql-ex.ru. Вопрос в том, что найти сумму при заранее известном количестве знаков легко (cast(substring(pole,1,1) as integer) + ...(pole,2,1) as...), а вот если заранее неизвестно сколько будет знаков...

Заранее спасибо!
19 авг 09, 16:06    [7557435]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Сергей Мишин
Member

Откуда:
Сообщений: 376
MaximuS_G,

представить 1111 в виде
1
1
1
1
сгруппировать и просуммировать
19 авг 09, 16:09    [7557462]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
MaximuS_G
Заранее спасибо!

Не за что. Задачи с sql-ex.ru решаются индивидуально и обсуждаются после решения в закрытой части сайта sql-ex.ru. До свидания :)
19 авг 09, 16:09    [7557463]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
MaximuS_G
Member

Откуда:
Сообщений: 1184
2 Сергей Мишин,
Не совсем понятно... Если например у меня значения в поле:
123
23232
то развернув их я получу что:
1
2
3
2
3
2
3
2
??? И как их потом группировать ?

2 Roman S. Golubin,
То-есть мне не надо было говорить что это из SQL-EX.ru да ?
автор
обсуждаются после решения
да мне тоже это нравиться, если не решил то извеняй, не научишься парень :)
19 авг 09, 16:16    [7557509]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Как то так. Но не уверен, что пройдет на Sql-ex.ru

DECLARE @T TABLE(col1 varchar(10))

INSERT @T VALUES('1111')
INSERT @T VALUES('22222')
INSERT @T VALUES('123')

SELECT
  col1,
  SUM(CAST(SUBSTRING(T.col1, V.number, 1) AS int))
FROM
  @T T
  INNER JOIN master..spt_values V ON
  LEN(col1) >= number
WHERE
  V.number > 0 AND
  V.type = 'P'
GROUP BY col1

ЗЫ. Самостоятельно бы тесты надо проходить.
19 авг 09, 16:18    [7557531]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
MaximuS_G

2 Roman S. Golubin,
То-есть мне не надо было говорить что это из SQL-EX.ru да ?

Можно было и не говорить - здесь полно народа, которые и так это знают. Правила на sql-ex.ru почитайте - вы под ними подписались, когда регистрировались на сервисе.
19 авг 09, 16:19    [7557540]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
автор, Вы же уже не первый день на форуме
если бы Вы воспользовались поиском, то с ходу нашли бы тему Сумма цифр числа
19 авг 09, 16:22    [7557570]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
MaximuS_G
Member

Откуда:
Сообщений: 1184
2 pkarklin,
Спасибо большое, но это уже достаточно сложно для меня :)... Я не программист, это так - хобби :)... Я думал там как-то по проще.

2 Roman S. Golubin,
Там есть подсказка, которая не работает :)... И еще и написано не ображайтесь в службу поддержки... Ха, и спрашивать нигде нельзя... Так что может присниться! Буду надеятся...

Тема закрыта.
19 авг 09, 16:24    [7557587]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Сергей Мишин
Member

Откуда:
Сообщений: 376
MaximuS_G
2 Сергей Мишин,
Не совсем понятно... Если например у меня значения в поле:
123
23232
то развернув их я получу что:
1
2
3
2
3
2
3
2
??? И как их потом группировать ?

получить вы должны
1 123
2 123
3 123
и по второму полю сгруппировать.
MaximuS_G

2 Roman S. Golubin,
То-есть мне не надо было говорить что это из SQL-EX.ru да ?
автор
обсуждаются после решения
да мне тоже это нравиться, если не решил то извеняй, не научишься парень :)

есть поиск, гугл-) а то какой смысл будет от теста, если получать готовые ответы на форуме
19 авг 09, 16:30    [7557622]     Ответить | Цитировать Сообщить модератору
 Re: найти сумму цифр значения поля  [new]
Anddros
Member

Откуда:
Сообщений: 1077
MaximuS_G
2 pkarklin,
Там есть подсказка, которая не работает :)... И еще и написано не ображайтесь в службу поддержки... Ха, и спрашивать нигде нельзя... Так что может присниться! Буду надеятся...


Подсказка там становится доступна после того, как ваше решение даст верный результат на открытой базе.
19 авг 09, 17:13    [7557927]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить