如何查询编号开头全部是"H"的记录?

Jazzyh 2006-07-21 09:07:05
如何查询编号开头全部是"H"的记录?
...全文
193 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LouisXIV 2006-07-21
  • 打赏
  • 举报
回复
substring,left,right之类由于对列进行了重新计算,无法利用索引,因此会导致扫描全表

而Like 'char%'的方式利用到了索引排序的第一个字符,可以通过索引检索来找到所要的数据

playwarcraft 2006-07-21
  • 打赏
  • 举报
回复
唉...提到效率問題,我就比較迷茫了,不懂:(
LouisXIV 2006-07-21
  • 打赏
  • 举报
回复
有索引的情况下还是用like比较好,substring不能利用索引
playwarcraft 2006-07-21
  • 打赏
  • 举报
回复
select * from tb where left(编号,1)='H'
select * from tb where 编号 like 'H%'

两种方法都可以,第一种方法好些
---------------------------------------------
這麼說,還是substring稍微效率更高了~~~ ^^
select * from tb where substring(编号,1,1)='H'
xjjdanran 2006-07-21
  • 打赏
  • 举报
回复
大家反应都是挺快的,同意楼上的
云中客 2006-07-21
  • 打赏
  • 举报
回复
select * from tb where left(编号,1)='H'
select * from tb where 编号 like 'H%'

两种方法都可以,第一种方法好些
kisa99 2006-07-21
  • 打赏
  • 举报
回复
select * from tb where substring(编号,1,1)='h'
xyxfly 2006-07-21
  • 打赏
  • 举报
回复
都好快,上面两种方法都可以
gahade 2006-07-21
  • 打赏
  • 举报
回复
select * from 表名 where 编号 like 'H%'
九斤半 2006-07-21
  • 打赏
  • 举报
回复
select * from tb where 编号 like 'H%'
WangZWang 2006-07-21
  • 打赏
  • 举报
回复
select * from tb where left(编号,1)='H'

34,593

社区成员

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

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