webForumDet fria alternativet

Ta fram ett intervall A-B

5 svar · 341 visningar · startad av tonyh

tonyhMedlem sedan okt. 2002107 inlägg
#1

Hej!

Jag vill göra en SQL sats som tar fram alla användate i en vars efternamn börjar på bokstaven "a"?

Kan man inte på något enkelt sätt göra typ:

SELECT * FROM Customers 
WHERE lastname > 'a' and lastname < 'b'
ORDER BY Lastname, firstname

Tack på förhand!

Peter SMedlem sedan dec. 20025 483 inlägg
#2
select * from Customers 
where lastname like 'a%' 
order by lastname, firstname;

:)

tonyhMedlem sedan okt. 2002107 inlägg
#3

Tack...

...men om man har större intervall typ att man är intreserad av intervallet A-H? Känner någon till något smidigare sätt att få detta intervall än att skriva "AND (Lastname LIKE 'a%' OR Lastname LIKE 'b%' OR Lastname LIKE 'c%' ..."

Tack på förhand!

TkJMedlem sedan feb. 20042 inlägg
#4
SELECT * FROM Customers 
WHERE LEFT(lastname, 1)>='a' AND LEFT(lastname,1)<='c'
ORDER BY Lastname, firstname

Fast jag tror bara det fungerar om du har satt lastname som varchar och inte text. Sedan är jag tveksam till hur snyggt det är... ;)

tonyhMedlem sedan okt. 2002107 inlägg
#5

Tack TkJ

Ja det är ett bra förslag (inte världens effektivaste eller snyggaste men dock ett fullt funktionellt förslag).

Tack ska du ha...

...om någon har några andra förslag så är dessa välkomna!!!

cyprysMedlem sedan dec. 20003 563 inlägg
#6
SELECT * FROM Customers 
WHERE LEFT(lastname, 1) BETWEEN 'a' AND 'h'
ORDER BY Lastname, firstname

Kanske funkar?

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)