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;');

数据为:

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

原理:

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

原文地址:http://blog.51cto.com/zhibeiwang/2097527

时间: 2024-11-04 02:53:00

sql 一个字段是否包含另一个字段的相关文章

如何高效的检测一个数组是否包含某一个值

如何检测一个数组(未排序)是否包含一个指定的值?这在Java中是一个非常有用且常见的操作.这还是一个在stackoverflow投票最多的一个问题.在投票最多的答案中,有几种不同的方式来完成这个问题.但是时间复杂度存在很大的差异.下面,我将展示每个方法所花费的时间. 1.检测数组中是否包含某一个值的四种方式 1)使用List public static boolean useList(String[] arr, String targetValue) { return Arrays.asList

php如何判断一个字符串是否包含另一个字符串

来自1:http://blog.sina.com.cn/s/blog_8edc37a801016yha.html -------------------------------------------------------------------- 我觉得最简单的就是:(用这种最好,StrPos效率最高) strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false. 用 !== false (或者 === false) 的原因是如果 $b 正

【包容】一个类可以包含另一个类的对象

当一个类中出现了另一个类的对象,这种现象我们叫做包容! #include <iostream> using namespace std; class A { public: A(){x=0;} A(int i){x=i;} void get(){cout<<x<<endl;;} ~A(){} private: int x; }; class B { public: B(){y=0;} B(int i,int j,int k):a(i),b(j){y=k;}//初始化赋值

【LintCode】判断一个字符串是否包含另一个字符串的所有字符

问题描述: 比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母. 样例 给出 A = "ABCD" B = "ACD",返回 true 给出 A = "ABCD" B = "AABC", 返回 false 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序. 问题分析: 实质上利用的是哈希表的思想.只有大写字母,一共26个,遍历A的时候,往里面压,遍历B的时候,往外边弹,如果

关于javascript中判断一个字符串是否包含另一个字符串

var temp = "hello,world"; if(temp.indexOf("hello") >= 0 ){       alert('temp中包含hello字符串');   }

判断一个字符串是否包含另一个字符串

if (iOS8) {//ios8以上的系统才能用这个方法,否则会报错 if ([str containsString:str1]) { NSLog(@"str包含str1"); } } 通用的方法: NSRange range = [str rangeOfString:str1]; if (range.location != NSNotFound) { NSLog(@"str包含str1"); }

二叉树(16)---- 一个二叉树是否包含另一个二叉树

二叉树问题合集 2.问题描述 二叉树A和B的每个节点的数据(int型数据)存储在不同文件中,存储方式为前序遍历和中序遍历,根据这两种遍历重建二叉树,并且判断二叉树A是否包含二叉树B. 3.算法描述 (1)首先将节点数据的前序遍历和中序遍历序列读入数组 (2)分别根据各自的前序遍历和中序遍历重建二叉树A和B (3)判断B是否在A中 代码: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #in

JAVA中判断一个字符串是否包含另一个字符串

用indexOf()函数,不包含则返回-1,包含返回0: String str="ABC_001"; if(str.indexOf("ABC")!=-1){    System.out.println("包含"); } else{    System.out.println("不包含"); }

java中如何判断一个字符串是否包含另外一个字符串的方法

indexOf(String s)的使用,如果包含,返回的值是包含该子字符串在父类字符串中起始位置:如果不包含必定全部返回值为-1 package my_automation; public class z_test { public static void main(String[] args) { String test = "This is test for string"; System.out.println(test.indexOf("This"));