Sql server 选择计数(*)不返回数字
我在执行临时表的count()时遇到以下问题。 它不返回数字,而是返回星号()。附加的代码,看看你是否可以指导我看到发生了什么。非常感谢你Sql server 选择计数(*)不返回数字,sql-server,Sql Server,我在执行临时表的count()时遇到以下问题。 它不返回数字,而是返回星号()。附加的代码,看看你是否可以指导我看到发生了什么。非常感谢你 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 IN
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 );
返回:
VALUE : *
您必须更改大小:
PRINT 'VALUE : '+ CONVERT(VARCHAR(200),@COUNT_NUM );
-- here
当@COUNT\u NUM
的值大于字符数时,将返回*
Value: 1
Value: 10
Value: 99
Value: * (for 100)
另一个选项是
concat()
,您不必担心长度
Print concat('Value : ',@Count_Num)