当前位置: 首页 > news >正文

江西网站建设优化服务深圳市建

江西网站建设优化服务,深圳市建,昆山网站建设价格备用参考,有经验的盐城网站开发转载自 MySQL instr()函数 MySQL INSTR函数简介 有时#xff0c;您想要在字符串中查找子字符串或检查字符串中是否存在子字符串。在这种情况下#xff0c;您可以使用字符串内置INSTR()函数。 INSTR()函数返回字符串中子字符串第一次出现的位置。如果在str中找不到子字符串…转载自  MySQL instr()函数 MySQL INSTR函数简介 有时您想要在字符串中查找子字符串或检查字符串中是否存在子字符串。在这种情况下您可以使用字符串内置INSTR()函数。 INSTR()函数返回字符串中子字符串第一次出现的位置。如果在str中找不到子字符串则INSTR()函数返回零(0)。 下面说明了INSTR函数的语法。 INSTR(str,substr);SQL INSTR函数接受两个参数 str是要搜索的字符串。substr是要搜索的子字符串。 INSTR()函数不区分大小写。这意味着如果通过小写大写标题大小写等结果总是一样的。 如果希望INSTR函数在非二进制字符串上以区分大小写的方式执行搜索则可以使用BINARY运算符将INSTR函数的参数从非二进制字符串转换为二进制字符串。 MySQL INSTR函数示例 以下语句返回MySQL INSTR字符串中的子字符串SQL的位置。 SELECT INSTR(MySQL INSTR, SQL);SQL 执行上面查询语句得到以下结果 - mysql SELECT INSTR(MySQL INSTR, SQL); ----------------------------- | INSTR(MySQL INSTR, SQL) | ----------------------------- | 3 | ----------------------------- 1 row in setSQL 以下语句返回相同的结果因为INSTR函数不区分大小写。 SELECT INSTR(MySQL INSTR, sql);SQL 执行上面查询语句得到以下结果 - mysql SELECT INSTR(MySQL INSTR, sql); ----------------------------- | INSTR(MySQL INSTR, sql) | ----------------------------- | 3 | ----------------------------- 1 row in setSQL 要强制INSTR函数根据以区分大小写的方式进行搜索请按如下所示使用BINARY运算符 SELECT INSTR(MySQL INSTR, BINARY sql);SQL 执行上面查询语句得到以下结果 - mysql SELECT INSTR(MySQL INSTR, BINARY sql); ------------------------------------ | INSTR(MySQL INSTR, BINARY sql) | ------------------------------------ | 0 | ------------------------------------ 1 row in setSQL 结果是不同的因为现在使用BINARY运算符因为sql与SQL是不同的字符串。 INSTR函数与LIKE运算符 我们将使用示例数据库(yiibaidb)中的products表其表结构如下 - mysql desc products; ------------------------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------------------------------------- | productCode | varchar(15) | NO | PRI | | | | productName | varchar(70) | NO | MUL | NULL | | | productLine | varchar(50) | NO | MUL | NULL | | | productScale | varchar(10) | NO | | NULL | | | productVendor | varchar(50) | NO | | NULL | | | productDescription | text | NO | | NULL | | | quantityInStock | smallint(6) | NO | | NULL | | | buyPrice | decimal(10,2) | NO | | NULL | | | MSRP | decimal(10,2) | NO | | NULL | | | stockValue | double | YES | | NULL | STORED GENERATED | ------------------------------------------------------------------------- 10 rows in setSQL 假设要查找名称包含car关键字的产品可以使用INSTR函数如下所示 SELECT productName FROMproducts WHEREINSTR(productname,Car) 0;SQL 执行上面查询语句得到以下结果 - ---------------------------------------- | productName | ---------------------------------------- | 1911 Ford Town Car | | 1999 Indy 500 Monte Carlo SS | | 18th Century Vintage Horse Carriage | | 1917 Maxwell Touring Car | | 1950s Chicago Surface Lines Streetcar | | 1962 City of Detroit Streetcar | ---------------------------------------- 6 rows in setSQL 除了INSTR函数可以使用LIKE运算符来匹配Car模式。 SELECT productname FROMproducts WHEREproductname LIKE %Car%;SQL 执行上面查询语句得到以下结果 - ---------------------------------------- | productname | ---------------------------------------- | 1911 Ford Town Car | | 1999 Indy 500 Monte Carlo SS | | 18th Century Vintage Horse Carriage | | 1917 Maxwell Touring Car | | 1950s Chicago Surface Lines Streetcar | | 1962 City of Detroit Streetcar | ---------------------------------------- 6 rows in setSQL 两个查询返回相同的结果。那么哪一个更快INSTR还是LIKE操作符 答案是它们是一样的它们都区分大小写并执行全表扫描。 让我们在productname列创建一个索引。 CREATE INDEX idx_products_name ON products(productname);SQL 如果您使用具有前缀搜索的LIKE运算符则在此索引列上LIKE运算符的执行速度要比INSTR函数快。 请参阅以下查询语句 - SELECT productname FROMproducts WHEREproductname LIKE 1900%;SQL 执行上面查询语句得到以下结果 - ------------------------- | productname | ------------------------- | 1900s Vintage Bi-Plane | | 1900s Vintage Tri-Plane | ------------------------- 2 rows in setSQL 您可以使用EXPLAIN语句检查它 EXPLAIN SELECT productname FROMproducts WHEREproductname LIKE 1900%;SQL 执行查询分析得到以下结果 - 下面使用INSTR函数执行查询分析以进行比较参考以下语句 - EXPLAIN SELECT productname FROMproducts WHEREinstr(productname,1900);SQL 执行查询分析得到以下结果 - 即使productname列具有索引INSTR函数也执行表扫描。 这是因为MySQL不能对INSTR函数的语义做任何假设MySQL可以利用其对LIKE运算符语义的理解。 测试字符串中是否存在子字符串的最快方法是使用全文索引。 但是需要正确配置和维护索引。 在本教程中您已经学习了如何使用INSTR函数来查找字符串中子字符串第一次出现的位置。
http://wiki.neutronadmin.com/news/432705/

相关文章:

  • 关于外贸公司的网站模板免费信息推广网站
  • 个人网站 建设方案书建管家企业网站
  • 哪做网站企业网站四大类型
  • 一家公司做两个网站广东宏昌建设有限公司网站
  • 怎样做好网站用户体验做物流网站的公司哪家好
  • 网站建设的设计方案和实施计划动态ip地址做网站
  • eclipse做企业网站推广小程序拿佣金
  • 营销型企业网站例子重庆建设工程质量协会网站
  • 百度怎么注册公司网站织梦搭建网站教程
  • 宣传网站怎么做的腾讯企业邮箱注册入口官网
  • 网站设计文章小型企业网站有哪些
  • 创新的中小型网站建设保养车哪个网站做的好
  • 巫山网站设计做网站代理商好赚吗
  • 安阳企业网站优化排名建设网站建设工程信息泰州网1242低工程词
  • 网站建设误区云优客seo排名公司
  • 做网站付款方式邯郸市民网
  • 网站开发商问花店老板网站建设推广费用
  • 网站排名哪家好近期国际热点大事件
  • 3个典型网站建设公司制作代码
  • 专业模板建站价格建设部网站官网 造价鉴定
  • 蚌埠建设学校网站教育学校宁波seo教程推广平台
  • 做网站之前需要准备什么一个网站 多个域名
  • 临汾网站建设 吕梁网站建设短视频排名seo
  • 湘潭网站建设 多少钱磐石网络国家企业信用公示信息查询平台
  • 做网站的软件有哪些权威发布新闻的含义
  • 宿州高端网站建设公司哪家好那个网站卖数据库
  • 网站管理工作总结安宁网站建设 熊掌号
  • s什么网站可以接单做设计赚钱二手房中介网站建设
  • 网站建设公司管理流程邢台123最新消息
  • 网站虚拟主机行吗wordpress页面模板修改