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

参考技术A

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() 函数。

参考资料:百度百科-IsNull

参考技术B

ISNULLSQL查询示例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函数的用法的主要内容,如果未能解决你的问题,请参考以下文章

MySql 里的IFNULLNULLIF和ISNULL用法

isnull函数

C# 等效于 SQL Server 中的 IsNull() 函数

MySQLMySQL的IFNULL()ISNULL()NULLIF()函数用法说明

MySQLMySQL的IFNULL()ISNULL()NULLIF()函数用法说明

DB2 SQL 中的 IsNull 函数?