0变为NULL?

appleller 2010-04-25 09:12:08
SQL查询中
如果某值为0变为NULL有函数处理吗?
与isnull(xxx,0)相反的功能。
...全文
148 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixianxxx 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 happyflystone 的回复:]

[/Quote]
what is wrong?
-狙击手- 2010-04-25
  • 打赏
  • 举报
回复
feixianxxx 2010-04-25
  • 打赏
  • 举报
回复
NULLIF(a,b)
a b 如果相等 则值为NULL
htl258_Tony 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 appleller 的回复:]
SQL查询中
如果某值为0变为NULL有函数处理吗?
与isnull(xxx,0)相反的功能。
[/Quote]NULLIF()
wqmgxj 2010-04-25
  • 打赏
  • 举报
回复

case when a= 0 then null else a end
rmljoe 2010-04-25
  • 打赏
  • 举报
回复
学习了
dawugui 2010-04-25
  • 打赏
  • 举报
回复
create table tb(col int)
insert into tb values(0)
insert into tb values(0)
insert into tb values(1)
insert into tb values(2)
insert into tb values(3)
insert into tb values(0)
insert into tb values(0)
go

select col , newcol = (case when col = 0 then null else col end ) from tb

drop table tb

/*
col newcol
----------- -----------
0 NULL
0 NULL
1 1
2 2
3 3
0 NULL
0 NULL

(所影响的行数为 7 行)

*/
--小F-- 2010-04-25
  • 打赏
  • 举报
回复
NULLIF
如果两个指定的表达式相等,则返回空值。

语法
NULLIF ( expression , expression )

参数
expression

常量、列名、函数、子查询或算术运算符、按位运算符以及字符串运算符的任意组合。

返回类型
返回类型与第一个 expression 相同。

如果两个表达式不相等,NULLIF 返回第一个 expression 的值。如果相等,NULLIF 返回第一个 expression 类型的空值。

注释
如果两个表达式相等且结果表达式为 NULL,NULLIF 等价于 CASE 的搜索函数。
--小F-- 2010-04-25
  • 打赏
  • 举报
回复
nullif(col,0)
dawugui 2010-04-25
  • 打赏
  • 举报
回复
case when col = 0 then null else col end
-狙击手- 2010-04-25
  • 打赏
  • 举报
回复
nullif(@xxx,0)

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧