webForumDet fria alternativet

Plocka-ut-rätt-poster fel

10 svar · 260 visningar · startad av Dino

DinoMedlem sedan sep. 20011 914 inlägg
#1

Sitter och leker lite med sqlfrågor. Denna är tänkt att välja ut alla poster som börjar börjar eller är lika med "d" och inte de som är lika med "c", men resultatet blir alla från "a" till "c" kommer med och även "ä", men inte "d". Någon som vet varför?

SELECT DISTINCT item_description  FROM edi_orders_line  WHERE item_description <=  "d" and item_description <> "c"
LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT DISTINCT item_description  FROM edi_orders_line  WHERE item_description like 'd%'
DinoMedlem sedan sep. 20011 914 inlägg
#3

Får bara fram de som börjar med "d". (Obs. Använder Access)

@ndersMedlem sedan juni 200032 969 inlägg
#4

Vad ville du ha då?

DinoMedlem sedan sep. 20011 914 inlägg
#5

Skrev fel ovan. Skall plocka ut alla som är mindre än eller lika med "d", men inte "c". (Obs. Använder Access)

LarsGMedlem sedan dec. 200012 464 inlägg
#6
SELECT DISTINCT item_description  FROM edi_orders_line  WHERE item_description <  'e' and item_description not like 'c%'
DinoMedlem sedan sep. 20011 914 inlägg
#7

Funkade nästan. Tar om allting för att förklara lite bättre. Ha i tanken att jag bara sitter och testar hur man bygger upp sql frågor så det blir kanske lite veligt. Har en databas med 50 000 rader. Därifrån skall jag ta fram de som endast är mindre än eller lika med "d" men inte de som börjar med "b"(hade "c" förut, det spelar ingen roll, tanken är att en skall bort).
Så med en modifierad kod från LarsG (tack):

SELECT DISTINCT item_description  FROM edi_orders_line  WHERE item_description <=  'd' and item_description not like 'b*'

Så tar den helt riktigt bort den enskilda "bokstaven"(i detta fallet "b"), men den tar även bort "d". Kvar är "a" och "c". "d" fattas.

Har överseende med mig. :)

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Testade du med

SELECT DISTINCT item_description  FROM edi_orders_line  WHERE item_description <  'e' and item_description not like 'b*'

?

DinoMedlem sedan sep. 20011 914 inlägg
#9

Tack det funkar. :) Varför funkade inte item_description <= 'd*' :q

LarsGMedlem sedan dec. 200012 464 inlägg
#10

villkoret item_description <= 'd*' är sant om första bokstaven i item_description är <= d och om andra bokstaven är <= *

Om man använder <= < etc (dvs, inte like) så sker jämförelsen med avseende på ascii_värdet för bokstäverna.

Eftersom * ligger före alla bokstäver i Ascii-tabellen så blir det nästan aldrig sant.

DinoMedlem sedan sep. 20011 914 inlägg
#11

Tack för ett utförligt och lättbegripligt svar. :)

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