ВЫБЕРИТЕ СЧЕТЧИК (*) НЕТ ВЕРНУТЬ НОМЕР - PullRequest
0 голосов
/ 06 июля 2019

У меня следующая проблема при выполнении подсчета () временной таблицы. Он не возвращает число, он возвращает звездочку (). Прикрепленный код, чтобы увидеть, можете ли вы помочь мне увидеть, что происходит. Большое вам спасибо.

DECLARE @COUNT_NUM INTEGER;

CREATE TABLE #PRODUCTS_DIM
( PRODUCT VARCHAR(20)
);

INSERT INTO #PRODUCTS_DIM
SELECT PRODUCT
FROM PRODUCTS_TABLE
WHERE PRODUCT IS NOT NULL;

CREATE INDEX IDX_PRODUCT ON #PRODUCTS_DIM(PRODUCT); 


SELECT @COUNT_NUM = COUNT(*) FROM #PRODUCTS_DIM;

PRINT 'VALUE : '+ CONVERT(VARCHAR(2),@COUNT_NUM );

RETURN:

VALUE  : *

Ответы [ 2 ]

1 голос
/ 06 июля 2019

Просто еще один вариант - concat(), и вам не нужно беспокоиться о длине.

Print concat('Value : ',@Count_Num)
1 голос
/ 06 июля 2019

Вы должны изменить размер:

 PRINT 'VALUE : '+ CONVERT(VARCHAR(200),@COUNT_NUM );
                           -- here

Если значение @COUNT_NUM превышает количество символов, возвращается *.

Value: 1
Value: 10
Value: 99
Value: *     (for 100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...