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

    数据为:

    sql

    select DISTINCT Q1.id,Q1.code,Q1.codeRepty from queryreptycode as Q1  INNER JOIN
    queryreptycode 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

  • 相关阅读:
    【13NOIP提高组】货车运输(洛谷P1967)(Acwing.506)(一本通1877)
    Acwing136. 邻值查找(《算法竞赛进阶指南》)
    python 万能时间格式转换
    解决高并发的方法
    2020年春季学期《软件工程》课程总结
    语文知识点
    地理知识点
    外接球问题
    人船模型
    动量定理流体问题
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/4334640.html
Copyright © 2020-2023  润新知