select 通配符 星号 百分号 的区别??

来源:百度知道 编辑:UC知道 时间:2024/06/13 17:50:22
拒绝网上大幅复制粘贴,影响页容~~
另,感谢回答者~

[*]和[%]虽然都叫通配符但是含义不一样,在通常的用法中主要区别如下:
1、通配符[*],如有sql:select * from test1;
上面这个sql中使用的就是通配符[*],代表的含义是表[test1]中的所有字段(用这种方法就不用把字段一一列出了),这种用法相信你应该用过。

2、通配符[%],如有sql:select A from test2 where A like '%张三';
上面这个sql中使用的就是通配符[%],[%]用于sql的模糊查询中,其含义表示任意字符。[A like '%张三']表示只要A字段以[张三]结尾(前面是[任意字符]都可以)就满足要求。以此类推[A like '%张三%']则表示只要A字段含有[张三]就符合要求。

说明:特殊的在access数据库中没有[%]通配符,只有[*]通配符,它的含义包含上面讲的两个部分。

---
以上,希望对你有所帮助。

我整理的SQL模糊查询供你参考:
SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE ’%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE ’%三%’ AND u_name LIKE ’%猫%’

若使用 SELECT * FROM [user] WHERE u_name LIKE ’%三%猫%’
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u