Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Wanet Telecoms Ltd on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

need help on like keyword

Status
Not open for further replies.

habneh

Programmer
Mar 21, 2007
55
US
I have a table say

tbl

col1 col2
1 aa
2 aabc
3 bb
4 bbkk
5 cc
6 dd

I want to select all records from tbl1 excluding records that have col2 values starting aa and bb

therefore my result set should look like

col1 col2
5 cc
6 dd

thanks
 
Have you tried:
Code:
WHERE COL2 NOT LIKE 'aa%'
  OR COL2 NOT LIKE 'bb%'

-SQLBill

Posting advice: FAQ481-4875
 
Code:
[COLOR=blue]Select[/color] *
[COLOR=blue]From[/color]   tbl
[COLOR=blue]Where[/color]  col2 Not Like [COLOR=red]'aa%'[/color]
       And Col2 Not Like [COLOR=red]'bb%'[/color]

-George

Strong and bitter words indicate a weak cause. - Fortune cookie wisdom
 
Thank you all

George's post works perfect
 
With your data you could try this:
Code:
[COLOR=blue]declare[/color] @test [COLOR=blue]table[/color] (col1 [COLOR=blue]int[/color], col2 [COLOR=blue]varchar[/color](20))
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (1,[COLOR=red]'aa'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (2,[COLOR=red]'aabc'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (3,[COLOR=red]'bb'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (4,[COLOR=red]'bbkk'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (5,[COLOR=red]'cc'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (6,[COLOR=red]'dd'[/color])

[COLOR=blue]SELECT[/color] * [COLOR=blue]from[/color] @test [COLOR=blue]WHERE[/color] col2 NOT LIKE [COLOR=red]'[ab][ab]%'[/color]
BUT this will not works in any cases
If you have data like this:
Code:
[COLOR=blue]declare[/color] @test [COLOR=blue]table[/color] (col1 [COLOR=blue]int[/color], col2 [COLOR=blue]varchar[/color](20))
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (1,[COLOR=red]'aa'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (2,[COLOR=red]'aabc'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (3,[COLOR=red]'bb'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (4,[COLOR=red]'bbkk'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (5,[COLOR=red]'cc'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (6,[COLOR=red]'dd'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test 
-- Here the problems begins :-)
[COLOR=blue]VALUES[/color] (7,[COLOR=red]'ab'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (8,[COLOR=red]'aba'[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @test [COLOR=blue]VALUES[/color] (9,[COLOR=red]'bab'[/color])

[COLOR=blue]SELECT[/color] * [COLOR=blue]from[/color] @test [COLOR=blue]WHERE[/color] col2 NOT LIKE [COLOR=red]'[ab][ab]%'[/color]
You'll get the same result as previous query, so SQLBill's and George's answers are more generic.

Borislav Borissov
VFP9 SP1, SQL Server 2000/2005.
MVP VFP
 
Denis,
I just wanted to make it with one LIKE :), but can't figured out how :)

Borislav Borissov
VFP9 SP1, SQL Server 2000/2005.
MVP VFP
 
Instead of LIKE, this works with Borislav's data:

[tt]SELECT * from @test WHERE Left(col2, 2) NOT IN ('aa', 'bb')[/tt]

[vampire][bat]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top