模拟SQL:
SELECT TABLE_CATALOG,
COUNT(*) TABLE_COUNT,
SUM(CASE WHEN TABLE_TYPE='STANDARD_TABLE' THEN 1 ELSE 0 END) STABLE_COUNT
FROM INFORMATION_SCHEMA.TABLES
GROUP BY TABLE_CATALOGL;
SQL 错误 [90015] [90015]: SUM or AVG on wrong data type for "SUM(CASE WHEN (TABLE_TYPE = 'STANDARD_TABLE') THEN 1 ELSE 0 END)" [90015-2]
执行以上sql报错,函数嵌套的问题还是case when 返回的类型问题?
手工转换一下数据类型可以运行
SUM(CONVERT(CASE WHEN TABLE_TYPE='STANDARD_TABLE' THEN 1 ELSE 0 END,INT))
模拟SQL: SELECT TABLE_CATALOG, COUNT(*) TABLE_COUNT, SUM(CASE WHEN TABLE_TYPE='STANDARD_TABLE' THEN 1 ELSE 0 END) STABLE_COUNT FROM INFORMATION_SCHEMA.TABLES GROUP BY TABLE_CATALOGL;
SQL 错误 [90015] [90015]: SUM or AVG on wrong data type for "SUM(CASE WHEN (TABLE_TYPE = 'STANDARD_TABLE') THEN 1 ELSE 0 END)" [90015-2]
执行以上sql报错,函数嵌套的问题还是case when 返回的类型问题?
手工转换一下数据类型可以运行 SUM(CONVERT(CASE WHEN TABLE_TYPE='STANDARD_TABLE' THEN 1 ELSE 0 END,INT))