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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udvælgelse betinget af første tegn?
Fra : Knud Berggreen


Dato : 12-11-02 19:02


Jeg skal lave et udtræk hvor første tegn _ikke_ må være et bogstav...
F.eks. indeholder databasen en masse titler hvor første tegn kan være
bogstaver, tal eller symboler (#$¤%)
Det vil sige at min søgning skal finde alle forekomster hvor første
tegn ikke er mellem 'A' og 'Z' samt 'Æ', 'Ø' og 'Å'
Jeg skal formodentlig bruge LIKE, men hvordan skal jeg skrue den
sammen?

Mvh
Knud

 
 
Jakob Andersen (12-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-11-02 19:32

"Knud Berggreen" <knud@berggreen.invalid> wrote
> Det vil sige at min søgning skal finde alle forekomster hvor første
> tegn ikke er mellem 'A' og 'Z' samt 'Æ', 'Ø' og 'Å'
> Jeg skal formodentlig bruge LIKE, men hvordan skal jeg skrue den
> sammen?

Dit spørgsmål har egentlig ikke så meget med ASP at gøre, det er afhængig af
din database, og da du ikke fortæller hvilken database du bruger er det lidt
svært at hjælpe dig.

I mySQL kan du f.eks. gøre sådan her;

SELECT <fieldlist> FROM <table> WHERE NOT (<field> REGEXP "^[a-zA-Z]");

--
Jakob Andersen



Jakob Andersen (12-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-11-02 20:09

"Jakob Andersen" <jakob@effectus.dk> wrote
> I mySQL kan du f.eks. gøre sådan her;
>
> SELECT <fieldlist> FROM <table>
> WHERE NOT (<field> REGEXP "^[a-zA-Z]");

Eller hvis databasen ikke understøtter en slags pattern matching kan du
selvfølgelig gøre noget ala dette:

SELECT <fieldlist> FROM <table> WHERE LOWER(LEFT(<field>,1)) NOT IN
('a','b','c',..................,'z')

--
Jakob Andersen



Knud Berggreen (12-11-2002)
Kommentar
Fra : Knud Berggreen


Dato : 12-11-02 23:46

On Tue, 12 Nov 2002 20:09:09 +0100, "Jakob Andersen"
<jakob@effectus.dk> wrote:

>Eller hvis databasen ikke understøtter en slags pattern matching kan du
>selvfølgelig gøre noget ala dette:

Det er en Access base. Jeg ved ikke hvordfan man kalder en .dbf base.
Det ville jeg ellers meget hellere da de ikke fylder en pind i
forhold.

>SELECT <fieldlist> FROM <table> WHERE LOWER(LEFT(<field>,1)) NOT IN
>('a','b','c',..................,'z')

Den understøtter ikke LOWER og UPPER, men det andet virker. Tak for
hjælpen.

/Knud

Jens Gyldenkærne Cla~ (12-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-11-02 23:04

Jakob Andersen skrev:

> Eller hvis databasen ikke understøtter en slags pattern
> matching kan du selvfølgelig gøre noget ala dette:
>
> SELECT <fieldlist> FROM <table> WHERE LOWER(LEFT(<field>,1))
> NOT IN ('a','b','c',..................,'z')

Man kan også bare udnytte at bogstaverne står lige efter hinanden i
sorteringsrækkefølgen:

SELECT <felter> FROM <tabel> WHERE NOT LOWER(LEFT(<felt>, 1))
BETWEEN 'a' and 'z'

(her tages ikke højde for æ, ø og å, ligesom accentuerede tegn alt
afhængig af databaseindstillingerne kan komme med i
resultatsættet).
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste