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"和"清空原始记录"的区别 展开
select * from table_name
与
select * from table_name where column_name like '%%'
有什么区别?
答案是后者搜索出来的内容"column_name"为非空.
我试着把该表里的记录删除,可是不行,必须原来就为"NULL"才管用,怎么办呢
"不行"就是说,原来记录为"NULL"时,"%%"搜索不出来,当我在"NULL"里添加任意数字再把全部数字清空,这时"%%"就能搜索出来了该行了.....这是为什么?
问题的关键在于"NULL"和"清空原始记录"的区别 展开
3个回答
展开全部
%是字符通配付,必须是字符。
select * from table_name 是查询整个表
select * from table_name where column_name like '%%' 查询这个字段 NOT IS NULL
select * from table_name 是查询整个表
select * from table_name where column_name like '%%' 查询这个字段 NOT IS NULL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%可以代表任意字符,但必须是字符.
NULL表示没有都没有.
所以,select * from table_name where column_name like '%%'
选不出来column_name为NULL的记录.
删除记录直接用delete from table_name就可以,你说的不行是什么不行?
NULL表示没有都没有.
所以,select * from table_name where column_name like '%%'
选不出来column_name为NULL的记录.
删除记录直接用delete from table_name就可以,你说的不行是什么不行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询