
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
是查询出table_name 里所有的记录
select * from table_name where column_name like '%%'
是查询出table_name表里column_name 类似于'%%'的记录
由于%是代替所有,‘%%’代替所有,但并不表示代替空值,所以后一条记录和前一条的区别是,前一条是查询所有记录,后一条是查询column_name 值 不为空的所有记录。
是查询出table_name 里所有的记录
select * from table_name where column_name like '%%'
是查询出table_name表里column_name 类似于'%%'的记录
由于%是代替所有,‘%%’代替所有,但并不表示代替空值,所以后一条记录和前一条的区别是,前一条是查询所有记录,后一条是查询column_name 值 不为空的所有记录。
展开全部
%是字符通配付,必须是字符。
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就可以,你说的不行是什么不行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询