/ 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
Finde de sidste 3 tegn.
Fra : EnjoyNews


Dato : 02-06-07 19:27

Hej

Hvordan finder jeg de sidste 3 tegn i et varchar felt i en mysql database. ?

Jeg skal bede den om at finde alle de poster hvor et varchar felt ikke ender
på .dk

mvh
Michael



 
 
Martin Mouritzen (02-06-2007)
Kommentar
Fra : Martin Mouritzen


Dato : 02-06-07 22:20

On Sat, 2 Jun 2007 20:26:36 +0200, "EnjoyNews" <mh-nyheder@mail.dk>
wrote:

>Hvordan finder jeg de sidste 3 tegn i et varchar felt i en mysql database. ?

Du skal bruge SUBSTRING funktionen.

>Jeg skal bede den om at finde alle de poster hvor et varchar felt ikke ender
>på .dk

SELECT
felter
FROM
tabel
WHERE
SUBSTRING(feltnavn,-3) != '.dk'
--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

EnjoyNews (03-06-2007)
Kommentar
Fra : EnjoyNews


Dato : 03-06-07 02:06


"Martin Mouritzen" <martin@siteloom.dk> skrev i en meddelelse
news:5kn363t2g3nta9a6u2ivrlpu7nop2dkiho@4ax.com...
> On Sat, 2 Jun 2007 20:26:36 +0200, "EnjoyNews" <mh-nyheder@mail.dk>
> wrote:
>
>>Hvordan finder jeg de sidste 3 tegn i et varchar felt i en mysql database.
>>?
>
> Du skal bruge SUBSTRING funktionen.
>
>>Jeg skal bede den om at finde alle de poster hvor et varchar felt ikke
>>ender
>>på .dk
>
> SELECT
> felter
> FROM
> tabel
> WHERE
> SUBSTRING(feltnavn,-3) != '.dk'
> --
> Med venlig hilsen,
> Martin Mouritzen.
> http://www.siteloom.dk

Super
Mange tak, det virker



Carsten Pedersen (04-06-2007)
Kommentar
Fra : Carsten Pedersen


Dato : 04-06-07 09:30

EnjoyNews wrote:
> "Martin Mouritzen" <martin@siteloom.dk> skrev i en meddelelse
> news:5kn363t2g3nta9a6u2ivrlpu7nop2dkiho@4ax.com...
>> On Sat, 2 Jun 2007 20:26:36 +0200, "EnjoyNews" <mh-nyheder@mail.dk>
>> wrote:
>>
>>> Hvordan finder jeg de sidste 3 tegn i et varchar felt i en mysql database.
>>> ?
>> Du skal bruge SUBSTRING funktionen.
>>
>>> Jeg skal bede den om at finde alle de poster hvor et varchar felt ikke
>>> ender
>>> på .dk
>> SELECT
>> felter
>> FROM
>> tabel
>> WHERE
>> SUBSTRING(feltnavn,-3) != '.dk'
>> --
>> Med venlig hilsen,
>> Martin Mouritzen.
>> http://www.siteloom.dk
>
> Super
> Mange tak, det virker

Simplere ville være

WHERE domain NOT LIKE '%.dk'

Men uanset om du bruger det ene eller det andet forslag, kommer det
til at sutte bigtime når du får nogle 100k poster at søge på.. du
kan ikke bruge nogen indekses, så hele tabellen skal gennemløbes for
hver forespørgsel. Indekses virker kun på den venstre side af en
tegnstreng.

Et ofte brugt trick til netop domænesøgniner er at lave et ekstra
felt hvor du gemmer REVERSE(domain), og så indekserer dette. Når du
så skal finde all != .dk domæner, bruger du blot

WHERE reversedomain NOT LIKE "kd.%".

Dette vil bruge dit indeks og være mange gange hurtigere.

Mvh

/ Carsten

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