/ 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
WHERE arkiv="Et tal"...?
Fra : Magnus


Dato : 29-10-05 12:40

Hvordan kan jeg i MySQL få hentet alle poster hvor feltet "arkiv" er et tal
og ingen bogstaver?

WHERE arkiv='Et tal'

/Magnus



 
 
Lars Madsen (29-10-2005)
Kommentar
Fra : Lars Madsen


Dato : 29-10-05 18:52

Magnus wrote:
> Hvordan kan jeg i MySQL få hentet alle poster hvor feltet "arkiv" er et tal
> og ingen bogstaver?
>
> WHERE arkiv='Et tal'
>
> /Magnus
>

jeg har ikke lige manualen liggnede, men du skal vel lave noget regexp
kan ikke lige huske syntaksen i mysql, men med perl pseudokode er det
vel noget lignende

where arkiv=~/^\d+$/

hvor dette selvfølgelig ikke virker da mysql har en anden syntaks. Men
tjek manualen vedrørende regexp

/daleif

Michael Zedeler (01-11-2005)
Kommentar
Fra : Michael Zedeler


Dato : 01-11-05 15:14

Magnus wrote:
> Hvordan kan jeg i MySQL få hentet alle poster hvor feltet "arkiv" er et tal
> og ingen bogstaver?
>
> WHERE arkiv='Et tal'

RTM

Det bliver til noget a'la

.... WHERE arkiv REGEXP '[0-9]+'

Se http://dev.mysql.com/doc/refman/5.0/en/regexp.html

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Peter Brodersen (02-11-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-11-05 03:03

On Tue, 01 Nov 2005 15:13:40 +0100, Michael Zedeler
<michael@zedeler.dk> wrote:

>Det bliver til noget a'la
>
>... WHERE arkiv REGEXP '[0-9]+'

Hm

mysql> SELECT 'abc123def' REGEXP '[0-9]+';
+-----------------------------+
| 'abc123def' REGEXP '[0-9]+' |
+-----------------------------+
| 1 |
+-----------------------------+
1 row in set (0.00 sec)

Det bør nok snarere være:
... WHERE arkiv REGEXP '^[0-9]+$'

Kriteriet kan dog fortolkes på flere måder. Er det acceptabelt med
decimaltal? Og hvad rummer feltet mere præcist, der resulterer i en
sådan logik?

--
- Peter Brodersen

Magnus (02-11-2005)
Kommentar
Fra : Magnus


Dato : 02-11-05 14:30

>>Det bliver til noget a'la
>>
>>... WHERE arkiv REGEXP '[0-9]+'
>
> Hm

Hvad med blot at skrive:
.... WHERE arkiv>0

Når bare man er sikker på at alle tal er over 0?

/Magnus



Peter Brodersen (02-11-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-11-05 15:15

On Wed, 2 Nov 2005 14:30:29 +0100, "Magnus" <magnusFJERN@arnason.dk>
wrote:

>Hvad med blot at skrive:
>... WHERE arkiv>0
>
>Når bare man er sikker på at alle tal er over 0?

Det vil også acceptere strenge med bogstaver i, hvis de indledes af
tal. Fx:

mysql> select '123abc' > 0;
+--------------+
| '123abc' > 0 |
+--------------+
| 1 |
+--------------+
1 row in set, 1 warning (0.04 sec)

mysql> show warnings;
+---------+------+--------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: '123abc' |
+---------+------+--------------------------------------------+
1 row in set (0.01 sec)


Igen, det kunne være interessant at høre hvad data, der gemmes i det
felt, idet der skal udføres logik på det. Vi ved fx heller ikke om
decimaltal er i orden. Måske feltindholdet kan atomiseres/normaliseres
yderligere.

--
- Peter Brodersen

Magnus (02-11-2005)
Kommentar
Fra : Magnus


Dato : 02-11-05 18:24

> Det vil også acceptere strenge med bogstaver i, hvis de indledes af
> tal. Fx:
>
> mysql> select '123abc' > 0;

Men jeg vil godt kunne bruge den når kun jeg har årstal fx 2004, 2005 osv.
eller tekst som
"grafik" og "sidefoto" hvor jeg aldrig vil kombinere tal pg bogstaver?


/Magnus



Peter Brodersen (02-11-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-11-05 18:49

On Wed, 2 Nov 2005 18:23:38 +0100, "Magnus" <magnusFJERN@arnason.dk>
wrote:

>Men jeg vil godt kunne bruge den når kun jeg har årstal fx 2004, 2005 osv.
>eller tekst som
>"grafik" og "sidefoto" hvor jeg aldrig vil kombinere tal pg bogstaver?

Ja (når du er sikker på at tallet er over 0).

Hvad er det for noget data, feltet indeholder?

--
- Peter Brodersen

Magnus (02-11-2005)
Kommentar
Fra : Magnus


Dato : 02-11-05 20:44

> Ja (når du er sikker på at tallet er over 0).
>
> Hvad er det for noget data, feltet indeholder?
>

Det er info om billeder i et fotoalbum på nettet og alle billeder har som
arkiv det årstal billedet er taget. Men nogle mindre miniature billeder som
jeg bruger sammen med nyhedsoverskrifter de ligger i arkivet "grafik" eller
"sidefoto".

/Magnus



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

Månedens bedste
Årets bedste
Sidste års bedste