你好,求答疑解惑,关于sql中isnull函数的用法?

declare @t table
(
id int identity(1,1),
UserId varchar(10),
Odds int
)

insert @t select 'a',12
union all select 'b',23
union all select 'c',34

select
isnull(userid,'total') as userid,
sum(odds) as odds
from @t
group by userid
with rollup

/**
userid odds
--------------
a 12
b 23
c 34
total 69
**/
大家帮我看看这段代码是什么意思啊!尤其是isnull和with rollup谢谢大家了!

繁星点点滴滴
浏览 309回答 2
2回答

翻翻过去那场雪

1,语法 :ISNULL ( check_expression , replacement_value )2,参数 :check_expression**将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与check_expresssion 具有相同的类型。3,返回类型 :返回与 check_expression 相同的类型。4,注释 :如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。5,示例 :将 ISNULL 与 AVG 一起使用 *下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目。USE pubs GO SELECT AVG(ISNULL(price, $10.00)) FROM titles GO*扩展资料:Oracle 没有 ISNULL() 函数。不过,可以使用 NVL() 函数达到相同的结果。MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。在 MySQL 中,我们可以使用 IFNULL() 函数。

慕少森

isnull函数的使用方式如下:isnull(check_expression , replacement_value ),如果 check_expression 不为 null,那么返回该表达式的值;否则返回 replacement_value。其中,check_expression为被检查是否为 NULLnull表达式,可以是任何类型的。replacement_value为 null时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。本函数返回与 check_expression 相同的类型。with rollup用于对group by的字段汇总求和。需要注意的是,使用有 WITH ROLLUP 子句的 GROUP BY 语句时,不能再使用 ORDER BY 语句对结果集进行排序,如果对返回的结果顺序不满意,需要应用程序获得结果后在程序中进行排序。扩展资料:Oracle 没有 ISNULL() 函数。不过,可以使用 NVL() 函数达到相同的结果。MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。在 MySQL 中,我们可以使用 IFNULL() 函数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL