通配符的问题,送高手分,送高手分的问题

CDEFGAB 2004-05-06 09:18:45
有一个下拉框:
苹果
香蕉
西瓜
杮子
葡萄
蕃茄
榴莲
生梨

SELECT * FROM mc="苹果"
我查出了所有“名称”是苹果的资料,但是我用什么方法可以一下子,查出所有的项目呢,即,不用选择苹果、香蕉、、、、我只是选择一个全部,就列出所有的水果呢????

请高手帮我啊,不知道:Like什么的行不行

...全文
108 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
CDEFGAB 2004-05-06
  • 打赏
  • 举报
回复
不过我的这个下拉框是绑定数据表的,操作起来有点繁琐
zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
or的效率肯定高于like
zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
你将like语句放到查询分析器中,按Ctrl+L分析一下就知道了
8992026 2004-05-06
  • 打赏
  • 举报
回复
我的那是vb的写法,其他语言你自己改了
8992026 2004-05-06
  • 打赏
  • 举报
回复
or也影响效率的

这种问题最好在客户端判断,产生不同的sql 语句
zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
放后面一样影响效率
8992026 2004-05-06
  • 打赏
  • 举报
回复
当然最好的方法是:
sql="SELECT * FROM ABC"
if cbo.text<>"全部" then
sql=sql & " WHERE mc ='" & cbo.text & "'"
end if
8992026 2004-05-06
  • 打赏
  • 举报
回复
%放后面对效率的影响不大
8992026 2004-05-06
  • 打赏
  • 举报
回复
实际就是:
sql="SELECT * FROM ABC WHERE mc like replace('" & cbo.text & "','全部','')+'%'"

cbo是你的下拉框


zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
不建议用楼上的方法,效率不高.
8992026 2004-05-06
  • 打赏
  • 举报
回复
SELECT * FROM ABC WHERE mc like replace('苹果','全部','')+'%'

SELECT * FROM ABC WHERE mc like replace('全部','全部','')+'%'



zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
这个不是通过like之类来实现,而是直接在查询条件中做处理
zjcxc 元老 2004-05-06
  • 打赏
  • 举报
回复
declare @mc varchar(10)
set @mc="苹果"

select * from ABC where @mc="全部" or mc=@mc
CDEFGAB 2004-05-06
  • 打赏
  • 举报
回复
我想在下拉框里加一项:全部,就完成所有的水果的查询,不知道可不可以??????谢谢
CDEFGAB 2004-05-06
  • 打赏
  • 举报
回复
SELECT * FROM ABC WHERE mc="苹果"

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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