简单的sql查询语句,慢的没分了。

春风十里耶耶耶 2011-06-02 01:45:59


select min(ArticleSubTypeID) as num from ArticleSubType where ArticleTypeID='20' --返回 null

我想让查询结果为null的时候,变成0。

但是当我使用case when 语句时,提示无法将Nvarchar转换成int类型,因为返回的null。
可是当我转换成int类型时,就直接查询不出结果了,怎么办呢?

select (case Convert(int,ArticleSubTypeID)when '' then '0' else '1' end) as aa
from ArticleSubType where ArticleTypeID='20' --没有结果

怎么办呢????


谢谢。。
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duoxu1983 2011-06-02
  • 打赏
  • 举报
回复
慢了。。。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 htl258 的回复:]
select min(ArticleSubTypeID) as num from ArticleSubType where ArticleTypeID='20' --返回 null

我想让查询结果为null的时候,变成0。



SQL code
select ISNULL(min(ArticleSubTypeID),0) as num from ArticleSubType w……
[/Quote]

懂了,原来isnull是针对没有查询到的情况下,我还以为是查询结果为null的时候用呢。
叶子 2011-06-02
  • 打赏
  • 举报
回复

select min(isnull(ArticleSubTypeID,'')) as num from ArticleSubType where ArticleTypeID='20'
--或是
select min(isnull(ArticleSubTypeID,0)) as num from ArticleSubType where ArticleTypeID='20'

不确定你的类型,两个你都试一下
htl258_Tony 2011-06-02
  • 打赏
  • 举报
回复
select min(ArticleSubTypeID) as num from ArticleSubType where ArticleTypeID='20' --返回 null

我想让查询结果为null的时候,变成0。


select  ISNULL(min(ArticleSubTypeID),0) as num from ArticleSubType where ArticleTypeID='20'
君_洛洛 2011-06-02
  • 打赏
  • 举报
回复
select isnull(min(ArticleSubTypeID),0) as num from ArticleSubType where ArticleTypeID='20'
AcHerat 2011-06-02
  • 打赏
  • 举报
回复
isnull(col,0)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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