/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[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

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste