WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   SQL-fråga med LIKE '[0-9]%' funkar inte?? (https://www.wn.se/forum/showthread.php?t=1044423)

Jim_Westergren 2010-10-22 11:22

SQL-fråga med LIKE '[0-9]%' funkar inte??
 
På diverse sidor på internet (exempel, exempel) kan man läsa att detta borde fungera hur bra som helst:

SELECT * FROM `tabell` WHERE `kolumn` LIKE '[0-9]%';

Den bör alltså returna alla rader som börjar med en siffra 0 till 9 men den returnerar ett tomt resultat. Jag har testat både hos Binero och Loopia. Även [A-B] bör gå men fungerar inte.

Däremot funkar denna:
SELECT * FROM `tabell` WHERE `kolumn` LIKE '0%';

Någon som vet varför?

hnn 2010-10-22 11:33

Så vitt jag vet, så kör Binero/Loopia med MySQL/MSSQL.
Funderat på att läsa manualen ;)

http://dev.mysql.com/doc/refman/5.1/...functions.html

---

Att det finns i SQL menas ju inte med att det stöds av DBMSen. Funktioner i Oracle behöver ju inte funka i Access av förklarliga skäl o vise versa.

Lumax 2010-10-22 11:40

Du kan använda dig av WHERE LEFT(kolumn, 1) REGEXP('[0-9]')

Jim_Westergren 2010-10-22 11:48

Ok

@Lumax,
funkade perfekt. Tack!

Ara 2010-10-22 16:00

Vad är det för datatyp på 'kolumn', char/varchar?

SELECT * FROM `tabell` WHERE `kolumn` LIKE '[0-9]%'; = här letar du efter en sträng som börjar med '[0-9]', vilket kommer ge träffar på all test som börjar just med'[0-9]'.

Exempel på en träff '[0-9]hejhej'

Där för gissar jag att du får fel träffar.

SELECT * FROM `tabell` WHERE `kolumn` LIKE '0%'; medan här söker du på strängar som bara börjar med '0'.
Exempel på en träff '0hejhej'


Alla tider är GMT +2. Klockan är nu 18:51.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson