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

Откуда:
Сообщений: 4
Всем привет, возникла задача посчитать количество цифр в числе, есть код, который нужно упростить оставив лишь один цикл WHILE, очень нужна помощь. Вот код, который нужно упростить:
DECLARE @num int, @cnt int
SET @num = 19
IF (@num = 0) SET @cnt = 1
ELSE BEGIN
SET @cnt = 0
WHILE (@num <> 0) BEGIN
SET @cnt = @cnt + 1
SET @num = @num / 10
END
END
SELECT @cnt AS 'Количество цифр';
25 ноя 18, 18:26    [21744198]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать количество цифр в числе  [new]
Trurl
Member

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

declare @num int = 19
select (len(cast(@num as varchar(255)))) [Количество цифр]
25 ноя 18, 18:47    [21744206]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать количество цифр в числе  [new]
SLDS
Member

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

Cпасибо огромное
25 ноя 18, 18:52    [21744207]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать количество цифр в числе  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
DECLARE @num int=19;
SELECT CAST(LOG10(@num)AS INT)+1;
25 ноя 18, 19:02    [21744209]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить