Welcome to Sign in | Help
in Search

CONTAINS sau altceva?

Last post 12-28-2007, 12:29 PM by rsocol. 3 replies.
Sort Posts: Previous Next
  •  12-27-2007, 2:04 PM 3681

    CONTAINS sau altceva?

    set @check_letter='qwertyuiopasdfghjklzxcvbnm'

    se cauta in toate inregistrarile dintr-un field si se sterg record-urile care contin una din literele definite in parametru?

    cum fac asa ceva? CONTAINS cauta doar cuvant cheie din cate am inteles...sau e mai bine sa merg pe un CASE?

  •  12-27-2007, 2:26 PM 3682 in reply to 3681

    Re: CONTAINS sau altceva?

    USE tempdb;
    GO
    CREATE TABLE myTable(I INT,C VARCHAR(4000));
    GO
    INSERT INTO myTable(I,C) VALUES (1,'abcd');
    INSERT INTO myTable (I,C) VALUES (1,'12345');
    GO
    DECLARE @check_letter VARCHAR(128);
    SET @check_letter='%[qwertyuiopasdfghjklzxcvbnm]%';

    SELECT * FROM myTable
    WHERE PATINDEX(@check_letter,C)=1;

    Output:

    I  C
    -- ------------
    1  abcd


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  12-27-2007, 2:56 PM 3683 in reply to 3682

    Re: CONTAINS sau altceva?

    ideea e buna dar din pacate nu se aplica la mine, am omis sa aspun ca recordurile mele sunt de genul "12345pq" sau "432uu3", deci nu merge...

     multumesc, am setat

    SET @check_letter='%[1234567890]%%[qwertyuiopasdfghjklzxcvbnm]%';

    si a mers.

     mersi din nou pt ajutor

  •  12-28-2007, 12:29 PM 3688 in reply to 3683

    Re: CONTAINS sau altceva?

    noface:

    SET @check_letter='%[1234567890]%%[qwertyuiopasdfghjklzxcvbnm]%';

    Un pattern echivalent, dar mai simplu, ar fi:

    SET @check_letter='%[0-9]%[a-z]%';

    Răzvan

View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems