select *
from nottable
where len(no) > 12

解决方案 »

  1.   

    select no from notable t
    where exists (select 1 from notable where no like rtrim(t.no) + '%' and no<>t.no)
      

  2.   

    select no from notable t
    where exists (select 1 from notable where no like rtrim(t.no) + '%' and no <>t.no)
      

  3.   

    ---------------------------------
    --  Author: liangCK 小梁
    --  Date  : 2008-11-20 11:22:17
    ---------------------------------
     
    --> 生成测试数据: @T
    DECLARE @T TABLE (no VARCHAR(14))
    INSERT INTO @T
    SELECT 'SSIL08110001' UNION ALL
    SELECT 'SSIL08110002' UNION ALL
    SELECT 'SSIL08110003' UNION ALL
    SELECT 'SSIL08110004' UNION ALL
    SELECT 'HCC0940' UNION ALL
    SELECT 'SSIL08110004-A' UNION ALL
    SELECT 'SSIL08110004-B' UNION ALL
    SELECT 'SSIL08110004-C'--SQL查询如下:SELECT *
    FROM @T AS t
    WHERE EXISTS(
             SELECT *
             FROM @T
             WHERE no<>t.no
                 AND no LIKE t.no+'%'
          )/*
    no
    --------------
    SSIL08110004(1 行受影响)*/
      

  4.   

    CREATE TABLE #A (S_NO VARCHAR(20))
    INSERT INTO #A SELECT 'SSIL08110001' 
    INSERT INTO #A SELECT 'SSIL08110002' 
    INSERT INTO #A SELECT  'SSIL08110003' 
    INSERT INTO #A SELECT  'SSIL08110004' 
    INSERT INTO #A SELECT  'HCC0940' 
    INSERT INTO #A SELECT  'SSIL08110004-A' 
    INSERT INTO #A SELECT  'SSIL08110004-B' 
    INSERT INTO #A SELECT  'SSIL08110004-C'SELECT * FROM #A A
    WHERE  (SELECT COUNT(*)  FROM #A WHERE LEFT(S_NO,LEN(A.S_NO))=A.S_NO)>1DROP TABLE #A /**
    SSIL08110004