Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Wyświetlanie wyrazów z tabeli o pewnych kryteriach bez uzywania LIKE
pitut
post 3.12.2010, 21:09:37
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.08.2006

Ostrzeżenie: (0%)
-----


Z tabeli 'samochody' musze wyświetlić kolumne 'marka' ale ma wyświetlać tylko te marki (marki sa wyrazami) w których na drugim miejscu znajduje sie litera O lub I a pozostałe sa dowolne.

Z tym że nie mogę do tego użyć LIKE'a
ma to wyglądać tak, i nie wiem jak sie za to zabrać bo LIKE byłby do tego najprostszy..

MARKA MODEL
------------ ------------
FORD K
TOYOTA YARIS
VOLVO 440
FIAT PUNTO
NISSAN MICRA

Ten post edytował pitut 3.12.2010, 21:10:15
Go to the top of the page
+Quote Post
Wicepsik
post 3.12.2010, 21:15:57
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. REGEXP


Ten post edytował Wicepsik 3.12.2010, 21:16:14


--------------------
Go to the top of the page
+Quote Post
pitut
post 3.12.2010, 21:26:01
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.08.2006

Ostrzeżenie: (0%)
-----


dzięki, czytam o tej funkcji ale nie wiem jak to zapisac. Ucze się sql'a bardzo krotko i dopiero zaczalem poznawac podstawy i mnie zagieli takim zadaniem, mógłbyś mi zapisać taki warunek? na przykladzie mozna wiecej zobaczyc
Go to the top of the page
+Quote Post
Wicepsik
post 3.12.2010, 21:34:42
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. SELECT marka REGEXP '^[[:alpha:]]{1}(o|O)' FROM samochody

nie testowane

Ten post edytował Wicepsik 3.12.2010, 21:34:58


--------------------
Go to the top of the page
+Quote Post
Quadina
post 3.12.2010, 21:41:48
Post #5





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. SELECT * FROM `marka` WHERE marka RLIKE '^.(I|O)';


^ oznacza, że liczymy od początku wartości
. oznacza każdy znak dowolny
(I|O) oznacza, ze ma być literka I lub O - czyli znak pionowy to jakby lub - wszystko w nawisach, żeby reqexp wiedział który to drugi znak

Reszta jest dowolna, więc nie musimy już pisać nic przy użyciu ^ na samym początku.


Ten post edytował Quadina 3.12.2010, 21:44:23


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
spenalzo
post 3.12.2010, 21:42:17
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zaprzęganie do tego regexpa to jakby strzelać do muchy z armaty;)

  1. SELECT marka FROM tabela WHERE substring(marka, 2, 1) IN ('I','O')

Ofc nie testowane.


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 00:31