Minulla on musiikkitietokanta, josta haluaisin hakea sellaiset kappaleen nimet joissa esintyy sana 'Yö'. Kyselyni ei tulosta mitään, vaikka kantaan on tallennettu useitakin Yö-sanan sisältämiä kappaleen nimiä.
SELECT * FROM Kappale WHERE KappaleNimi LIKE '%Yö%';
Mikä on vikana?
Mod. lisäsi kooditagit!
Esiintyykö ongelma sellaisillakin hauilla, jossa ei ole ö (tai åä yms) kirjaimia? Meinaan tulee mieleen, että kysessä voisi olla merkistöongelma.
Muita mahdollisia ongelmia voisi olla, että kannssa luee "yö" tai "YÖ" ja taulu on määritelty CS-kollaatiolla (Case Sensitive eli merkkikoolla on merkitystä).
SELECT * FROM `Kappale` WHERE `KappaleNimi` LIKE '%Yö%';
Viestini ei kosketa varsinaista aihetta, mutta `hipsut` on hyvä laittaa siitä huolimatta lähinnä myöhempiä kehitystarpeita varten. Kokeilepa saisitko Grezin viestin avulla kuntoon tietokantasi ja kyselysi.
Ei tulostanut myöskään mitään, vaikka kokelin sellaistaa sanaa jossa ei ole ääkkösiä. Mitään virheilmoitustakaan ei kuitenkaan tule. Tulostuu vain tyhjä kenttä. Ja kerrattokoon että Access 2007 on ohjelma.
Petja, väitteellesi ei taida olla mitään perusteita. Yhtä hyvin voisit sanoa, että 1+1 kannattaa kirjoittaa muodossa ((1+1)) "kehitystarpeita varten". Mitä tarpeita? Miten ylimääräiset merkit sinusta helpottavat kehitystä myöhemmin?
NuMiNi kirjoitti:
Ja kerrattokoon että Access 2007 on ohjelma.
Accessissa kyselyeditorissa jokerimerkki ei ole % vaan * eli laita Like '*yö*'
Mielestäni tuo oli ensimmäinen maininta, eikä "kertaus".
Petja kirjoitti:
`hipsut` on hyvä laittaa siitä huolimatta
Takahipsut ( ` ) on MySQL:n juttu. Esim. Accessissa ne laitettaisiin [Kappale]. Tällaiselle olisi siis tarvetta lähinnä, jos kentät olisi varattuja sanoja, sisältäisivät välilyöntejä tms. Lisäksi jos ei käytä värittävää editoria, voi olla sitä mieltä että ne auttaa luettavuutta.
Kiitoksia vastauksista, nyt toimii.
Aihe on jo aika vanha, joten et voi enää vastata siihen.