|
| [MySQL] vise alle efter Z Fra : Leonard |
Dato : 09-11-07 18:14 |
|
I en tabel har jeg et navnefelt, hvor enkelte navne begynder med ÆØÅ
eller andre specialtegn.
Navne listes på en side for deres forbogstav således, fx for A:
SELECT id,name FROM horses WHERE LEFT(name,1)=\"A\"
og så forventede jeg at
SELECT id,name FROM horses WHERE LEFT(name,1)>\"Z\"
ville liste alle dem med specialtegn som første bogstav, men der kommer
intet.
SELECT id,name FROM horses WHERE LEFT(name,1)>\"Y\" giver fint alle der
begynder med Z, men ikke de 2, der begynder med Ø
Hvordan kan jeg liste de navne, der begynder med andet end A-Z?
--
Leonard
Mine biler: http://vw.leonard.dk/
| |
Leonard (12-11-2007)
| Kommentar Fra : Leonard |
Dato : 12-11-07 11:46 |
|
On Fri, 9 Nov 2007 18:13:57 +0100, Leonard wrote:
> Hvordan kan jeg liste de navne, der begynder med andet end A-Z?
Er der ingen, der har et løsningsforslag?
--
Leonard
Mine biler: http://vw.leonard.dk/
| |
Peter Brodersen (12-11-2007)
| Kommentar Fra : Peter Brodersen |
Dato : 12-11-07 12:04 |
|
On Mon, 12 Nov 2007 11:46:13 +0100, Leonard <piper28a@gmail.invalid>
wrote:
>> Hvordan kan jeg liste de navne, der begynder med andet end A-Z?
>
>Er der ingen, der har et løsningsforslag?
For eksempel:
... WHERE navn NOT REGEXP '^[A-Z]'
--
- Peter Brodersen
Kendt fra Internet
| |
Leonard (12-11-2007)
| Kommentar Fra : Leonard |
Dato : 12-11-07 12:17 |
|
On Mon, 12 Nov 2007 12:03:54 +0100, Peter Brodersen wrote:
> For eksempel:
>
> .. WHERE navn NOT REGEXP '^[A-Z]'
og som sædvanlig når det kommer fra dig, så virker det bare.
Men hvorfor virker det ikke som jeg forsøgte først?
WHERE LEFT(name,1)>\"Z\"
--
Leonard
Mine biler: http://vw.leonard.dk/
| |
Martin (19-11-2007)
| Kommentar Fra : Martin |
Dato : 19-11-07 17:25 |
|
Leonard wrote:
> On Mon, 12 Nov 2007 12:03:54 +0100, Peter Brodersen wrote:
>
>> For eksempel:
>>
>> .. WHERE navn NOT REGEXP '^[A-Z]'
>
> og som sædvanlig når det kommer fra dig, så virker det bare.
>
> Men hvorfor virker det ikke som jeg forsøgte først?
>
> WHERE LEFT(name,1)>\"Z\"
>
>
Så vidt jeg husker... så er Z ikke "nr 27" i det engelske alfabet men
noget i stil med 35-40 stykker... og da vi ikk ved hvad hvilket navn du
søger efter, så kan det jo være det ligger under Z (fx punktum komma
eller lign - ligger svjh før A)
| |
Leonard (23-11-2007)
| Kommentar Fra : Leonard |
Dato : 23-11-07 13:36 |
|
On Mon, 19 Nov 2007 17:25:19 +0100, Martin wrote:
> Så vidt jeg husker... så er Z ikke "nr 27" i det engelske alfabet men
> noget i stil med 35-40 stykker... og da vi ikk ved hvad hvilket navn du
> søger efter, så kan det jo være det ligger under Z (fx punktum komma
> eller lign - ligger svjh før A)
Du har helt ret, der er ikke en logisk rækkefølge på tegnene.
Alle de tyske umlaut-tegn kommer lige efter a og før b.
Det gør at sorteringen bliver forkert, så Kö kommer lige efter Ka og
ikke først sammen med Ko, hvor det hører hjemme.
Er der en nem metode til at sortere på tysk i MySQL?
Faktisk skal der helst sorteres rigtigt på alle EU-sprog.
Eller bliver jeg nødt til at lave noget PHP, der sorterer efter at have
trukket data ud af databasen?
--
Leonard
Mine biler: http://vw.leonard.dk/
| |
Carsten Pedersen (23-11-2007)
| Kommentar Fra : Carsten Pedersen |
Dato : 23-11-07 14:37 |
|
Leonard wrote:
> On Mon, 19 Nov 2007 17:25:19 +0100, Martin wrote:
>
>> Så vidt jeg husker... så er Z ikke "nr 27" i det engelske alfabet men
>> noget i stil med 35-40 stykker... og da vi ikk ved hvad hvilket navn du
>> søger efter, så kan det jo være det ligger under Z (fx punktum komma
>> eller lign - ligger svjh før A)
>
> Du har helt ret, der er ikke en logisk rækkefølge på tegnene.
> Alle de tyske umlaut-tegn kommer lige efter a og før b.
> Det gør at sorteringen bliver forkert, så Kö kommer lige efter Ka og
> ikke først sammen med Ko, hvor det hører hjemme.
>
> Er der en nem metode til at sortere på tysk i MySQL?
> Faktisk skal der helst sorteres rigtigt på alle EU-sprog.
>
> Eller bliver jeg nødt til at lave noget PHP, der sorterer efter at have
> trukket data ud af databasen?
>
Du kan ændre sorterings rækkefølgen ("collation") enten generelt
eller i din forespørgsel.
Se dette kapitel i dokumentationen:
http://dev.mysql.com/doc/refman/5.0/en/charset.html
Mvh
/ Carsten
| |
Thorbjørn Ravn Ander~ (23-11-2007)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-11-07 14:50 |
|
Leonard <piper28a@gmail.invalid> writes:
> Det gør at sorteringen bliver forkert, så Kö kommer lige efter Ka og
Det lyder som om din "locale"-information ikke er korrekt på din
SQL+Operativsystem kombination.
--
Thorbjørn Ravn Andersen
| |
|
|