mysql一个字段是否包含另一个字段_sql 一个字段是否包含另一个字段

/*Navicat MySQL Data Transfer

Source Server : test

Source Server Version : 50528

Source Host : localhost:3306

Source Database : test

Target Server Type : MYSQL

Target Server Version : 50528

File Encoding : 65001

Date: 2015-03-13 11:25:34*/

SET FOREIGN_KEY_CHECKS=0;--------------------------------Table structure for queryreptycode------------------------------

DROP TABLE IF EXISTS`queryreptycode`;CREATE TABLE`queryreptycode` (

`id`int(11) NOT NULL,

`code`varchar(50) DEFAULT NULL,

`codeRepty`varchar(50) DEFAULT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;--------------------------------Records of queryreptycode------------------------------

INSERT INTO `queryreptycode` VALUES ('1', '1', '1');INSERT INTO `queryreptycode` VALUES ('2', '2', '2;3;4;1;');INSERT INTO `queryreptycode` VALUES ('3', '3', '1;');

数据为:

51a631daad1e24671bf6c547c1747aa3.png

sql

select DISTINCT Q1.id,Q1.code,Q1.codeRepty from queryreptycode as Q1 INNER JOINqueryreptycodeasQ2where INSTR(Q1.`code`,'%'+Q2.codeRepty+'%')

8f192bc39ebfbf1c7c61d4b0f692ea04.png

执行结果

748e01920c4c4e358e2ed54168baff97.png

原理:

函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。

其具体的语法格式如下:

INSTR(string,substring[,start[,occurrence]])

其中:

string待查询的字符串

substring正在搜索的字符串

start说明开始搜索的字符位置。默认值是1,就是说,搜索将从字符串的第一个字符开始。如果,参数为负则表示搜索的位置从右边开始计算,而不是默认的从左边开始

occurrence指定试图搜索的子串的第几次出现,默认值是1,意味着希望其首次出现

该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:

INSTR(‘AAABAABA’,’B’)=4

INSTR(‘AAABAABA’,’B’,1,2)=7

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值