sql 中isnull函数的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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谢谢大家了!
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
参考技术Aisnull函数的使用方式如下:
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() 函数。
参考资料:百度百科-IsNull
参考技术BISNULLSQL查询示例SELECT
ISNULL
使用指定的替换值替换 NULL。
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
示例
1 示例数据
表tb_Student及其示例数据如下图所示。
2 查询要求
查询出其中成绩(score)小于等于60的学生信息保存至表变量@tempTable中,当学生成绩为空时,成绩记为0。
3 执行结果
参考技术C 1. ISNULL使用指定的替换值替换 NULL。
语法
ISNULL ( check_expression , replacement_value )
2. ROLLUP ( )
生成简单的 GROUP BY 聚合行以及小计行或超聚合行,还生成一个总计行。
返回的分组数等于 <composite element list> 中的表达式数加一。例如,请考虑下面的语句。
SELECT a, b, c, SUM ( <expression> )
FROM T
GROUP BY ROLLUP (a,b,c)
会为 (a, b, c)、(a, b) 和 (a) 值的每个唯一组合生成一个带有小计的行。还将计算一个总计行。
列是按照从右到左的顺序汇总的。列的顺序会影响 ROLLUP 的输出分组,而且可能会影响结果集内的行数。
帮助上找了段,解释的比较详细。本回答被提问者采纳 参考技术D isnull(字段名,'自定义名') 这个函数主要是判断,当被判断的字段值为null的时候,select出来呈现的值是'自定义名'
rollup 是汇总数据
在生成包含小计和合计的报表时,rollup 运算符很有用。rollup 运算符生成的结果集类似于 cube 运算符所生成的结果集
这是我的解释,希望对你有帮助
Sql Server isnull() 用法
Isnull(null,1); 返回 1 isnull(1,3);返回 3
以上是关于sql 中isnull函数的用法的主要内容,如果未能解决你的问题,请参考以下文章
C# 等效于 SQL Server 中的 IsNull() 函数
MySQLMySQL的IFNULL()ISNULL()NULLIF()函数用法说明