解决方案 »

  1.   

    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
      

  2.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
      

  3.   

    SELECT * FROM tab WHERE n1 LIKE '_c1_';楼主可以把%换成”_“,一个下划线代表一个字符。
      

  4.   

    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
      

  5.   

    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
      

  6.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
      

  7.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?
      

  8.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。
      

  9.   

    SELECT * FROM tab WHERE "北京中关村股份有限公司" LIKE '%'||c1||'%';你写反了。
      

  10.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';
      

  11.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';额
    如果n1的长度不确定了!那要怎么去查询!
      

  12.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';额
    如果n1的长度不确定了!那要怎么去查询!
    跟长度没关系,如果你条件都不能确定,那还查询什么?
      

  13.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';额
    如果n1的长度不确定了!那要怎么去查询!
    跟长度没关系,如果你条件都不能确定,那还查询什么?

    因为 n1 这个查询条件来源于其他表的字段!
    而其他表的字段中存储的内容不确定,所以n1的值也是没法确定的!
      

  14.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';额
    如果n1的长度不确定了!那要怎么去查询!
    跟长度没关系,如果你条件都不能确定,那还查询什么?

    因为 n1 这个查询条件来源于其他表的字段!
    而其他表的字段中存储的内容不确定,所以n1的值也是没法确定的!
    好吧,来至其他表你把固定的字符换成其他表的字段就行了,如来自T1表:
    select * from table,t1  where  t1.c1 like '%'||ci||'%';
      

  15.   

    c1  列中的数据长度不确定!
     n1的值不确定,但是要用n1 去匹配c1 列中相似的列,
    例如:用“北京中关村股份有限公司” 去匹配“北京中关村”
    也有可能是 , 用“北京中关村”去匹配“北京中关村股份有限公司”
      

  16.   

    c1  列中的数据长度不确定!
     n1的值不确定,但是要用n1 去匹配c1 列中相似的列,
    例如:用“北京中关村股份有限公司” 去匹配“北京中关村”
    也有可能是 , 用“北京中关村”去匹配“北京中关村股份有限公司”
    select * from table,t1  where  t1.c1 like '%'||ci||'%' or ci like '%'||t1.c1||'%'; 
      

  17.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。

    你写错了,如下:
    select * from table where   '北京中关村股份有限公司' like '%'||ci||'%';额
    如果n1的长度不确定了!那要怎么去查询!
    跟长度没关系,如果你条件都不能确定,那还查询什么?

    因为 n1 这个查询条件来源于其他表的字段!
    而其他表的字段中存储的内容不确定,所以n1的值也是没法确定的!
    好吧,来至其他表你把固定的字符换成其他表的字段就行了,如来自T1表:
    select * from table,t1  where  t1.c1 like '%'||ci||'%';匹配规则可能是用“北京中关村股份有限公司” 去匹配“北京中关村”
    也有可能是 , 用“北京中关村”去匹配“北京中关村股份有限公司”
      

  18.   


    SELECT * FROM tab WHERE n1 LIKE '%'||c1||'%';
    大神啊!你把c1  和   n1   整反了!
    其中c1 为一个列名 
    n1 为一个查询条件
    我知道啊,这又有什么关系呢,达不到你的要求?id ci
    1 北京中关村
    2 北京朝阳区
    3 北京海淀区
    4 北京丰台区
    5 北京鸟巢
    6 北京石景山区select * from table where ci   like  "%北京中关村股份有限公司%"
    其结果查询的不是“北京中关村”,而是空
    而我想要的结果为“北京中关村”。
    select * from table where ci   like  "北京中关村股份有限公司%"
    试试这个
      

  19.   

    c1  列中的数据长度不确定!
     n1的值不确定,但是要用n1 去匹配c1 列中相似的列,
    例如:用“北京中关村股份有限公司” 去匹配“北京中关村”
    也有可能是 , 用“北京中关村”去匹配“北京中关村股份有限公司”
    select * from table,t1  where  t1.c1 like '%'||ci||'%' or ci like '%'||t1.c1||'%'; 会不会有重复项?
      

  20.   


    肯定会有,加distinct去除一下就可以了。
      

  21.   

    或者
    select * from table,t1  where  t1.c1 like '%'||ci||'%' 
    union 
    select * from table,t1  where ci like '%'||t1.c1||'%'; 
      

  22.   

    DECLARE @p1 NVARCHAR(50)='北京中关村股份有限公司';
    DECLARE @p2 NVARCHAR(50)='中关'
    CREATE TABLE #t1(c1 NVARCHAR(50));
    INSERT INTO #t1
    SELECT C1='北京中关村' UNION SELECT '北京朝阳区' UNION SELECT '北京海淀区';DECLARE @_SqlMain NVARCHAR(100)='
        SELECT * FROM #t1
        WHERE CHARINDEX(c1,@Param)>0 OR c1 LIKE ''%''+@param+''%''';
    EXEC SP_EXECUTESQL @_SqlMain,N'@param NVARCHAR(50)',@p1;
    EXEC SP_EXECUTESQL @_SqlMain,N'@param NVARCHAR(50)',@p2;DROP TABLE #t1;
      

  23.   

    select * from x  where CharIndex(c1, n1) > 0