sql 一个字段是否包含另一个字段

发布时间:2020-08-11 07:55:08 作者:a928154159
来源:网络 阅读:14952
/*
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;');

数据为:

sql 一个字段是否包含另一个字段

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

sql 一个字段是否包含另一个字段

原理:

函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。
其具体的语法格式如下:
INSTR(string,substring[,start[,occurrence]])
其中:
string 待查询的字符串
substring 正在搜索的字符串
start 说明开始搜索的字符位置。默认值是1,就是说,搜索将从字符串的第一个字符开始。如果,参数为负 则表示搜索的位置从右边开始计算,而不是默认的从左边开始
occurrence 指定试图搜索的子串的第几次出现,默认值是1,意 味着希望其首次出现
该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:
INSTR(‘AAABAABA’,’B’)=4
INSTR(‘AAABAABA’,’B’,1,2)=7

推荐阅读:
  1. sql 优化
  2. 【MySQL学习笔记】2、SQL语句

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql 一个字段是否包含另一个字段

上一篇:2019前端必会黑科技之PWA

下一篇:DM7配置本地归档

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》