SQL语句,判断是不是为空的问题

zky0901 2009-03-21 06:13:43
select top 1 * from news where npic is not null and type=1 and look=1 order by ndate desc

我想搜索第一条npic不空的记录,取出其中的图片路径,可我用上现在记录搜索出来的记录npic里明明为空,为何也搜出来啦,是不是我上面的语句有错误啊
请教一下
...全文
210 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ermuzi 2009-03-23
  • 打赏
  • 举报
回复
最好考虑空串''和空null两种类型的
lklovelk 2009-03-23
  • 打赏
  • 举报
回复
字段若要是真是NULL,记录集会以NULL来显示,要是空白的话表示不是NULL,而是空字符串
zky0901 2009-03-21
  • 打赏
  • 举报
回复
文本类型的
sdhdy 2009-03-21
  • 打赏
  • 举报
回复
楼主的语句没问题,是不是和npic字段类型有关系?什么类型的?
sdhdy 2009-03-21
  • 打赏
  • 举报
回复
--try:
select top 1 * from news where isnull(npic,N'')<>N'' and type=1 and look=1 order by ndate desc
zky0901 2009-03-21
  • 打赏
  • 举报
回复
npic是保存图片路径的,我要把有路径的搜索出来,空的就不搜了
lihan6415151528 2009-03-21
  • 打赏
  • 举报
回复

create table test(name varchar(10))
insert test select 'a' union all
select null union all
select 'b'
go

select * from test

name
----------
a
NULL
b

(所影响的行数为 3 行)

select * from test where name is not null;

name
----------
a
b

(所影响的行数为 2 行)


dawugui 2009-03-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 zky0901 的帖子:]
select top 1 * from news where npic is not null and type=1 and look=1 order by ndate desc

我想搜索第一条npic不空的记录,取出其中的图片路径,可我用上现在记录搜索出来的记录npic里明明为空,为何也搜出来啦,是不是我上面的语句有错误啊
请教一下
[/Quote]
你到底是需要NULL还是不需要NULL?

select top 1 * from news where npic is null and type=1 and look=1 order by ndate desc

htl258_Tony 2009-03-21
  • 打赏
  • 举报
回复
你所谓的空是NULL还是空白?
zky0901 2009-03-21
  • 打赏
  • 举报
回复
还是不行,还是把空的搜索出来了
ks_reny 2009-03-21
  • 打赏
  • 举报
回复

----try
select top 1 * from news where (npic is not null or rtrim(ltrim(npic))<>'') and
type=1 and look=1 order by ndate desc

22,219

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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