sql中"select ...like '%%' "问题,高手请进!!

我看一份有意思的题目,问:select*fromtable_name与select*fromtable_namewherecolumn_namelike'%%'有什么区别... 我看一份有意思的题目,问:
select * from table_name

select * from table_name where column_name like '%%'
有什么区别?
答案是后者搜索出来的内容"column_name"为非空.
我试着把该表里的记录删除,可是不行,必须原来就为"NULL"才管用,怎么办呢
"不行"就是说,原来记录为"NULL"时,"%%"搜索不出来,当我在"NULL"里添加任意数字再把全部数字清空,这时"%%"就能搜索出来了该行了.....这是为什么?
问题的关键在于"NULL"和"清空原始记录"的区别
展开
 我来答
理阵凉t
2007-09-17 · TA获得超过131个赞
知道答主
回答量:181
采纳率:0%
帮助的人:0
展开全部
select * from table_name
是查询出table_name 里所有的记录

select * from table_name where column_name like '%%'

是查询出table_name表里column_name 类似于'%%'的记录

由于%是代替所有,‘%%’代替所有,但并不表示代替空值,所以后一条记录和前一条的区别是,前一条是查询所有记录,后一条是查询column_name 值 不为空的所有记录。
伤悲后人哀3495
2007-09-17 · 超过28用户采纳过TA的回答
知道答主
回答量:198
采纳率:0%
帮助的人:0
展开全部
%是字符通配付,必须是字符。
select * from table_name 是查询整个表
select * from table_name where column_name like '%%' 查询这个字段 NOT IS NULL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
挺拔且威武丶菠萝蜜1983
2007-09-17 · TA获得超过527个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:644万
展开全部
%可以代表任意字符,但必须是字符.
NULL表示没有都没有.
所以,select * from table_name where column_name like '%%'
选不出来column_name为NULL的记录.
删除记录直接用delete from table_name就可以,你说的不行是什么不行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式