Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Baza numerów telefonicznych
KR2615
post
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Witam. Mam bazę numerów telefonicznych zapisanych w formacie 9-cio cyfrowym. Chciałbym z niej szybko wybrać złote numery, np. 123 77 88 77 albo 123 456 456. Nie chciałbym wybierac wszystkich rekordów po kolei, rozbijac je na pojedyncze cyfry i sprawdzac czy np. czwarta cyfra jest rowna piątej a szósta siódmej itp. Zastanawiam się, czy jestem w stanie sformułowac zapytanie mysql które wybierze mi interesujące mnie numery. Jak na razie udało mi się sformułować tylko takie dwie kwerendy:
  1. SELECT * FROM `prefix` WHERE number LIKE '123%0%0%0' ORDER BY number DESC
  2. SELECT * FROM `prefix` WHERE number LIKE '123%000' ORDER BY number DESC

Z gory dzięki za pozostałe podpowiedzi.
Go to the top of the page
+Quote Post
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Poniższe zapytanie wybierze Ci numery z końcówką "321".

  1. SELECT * FROM `prefix`
  2. WHERE ROUND(number % 10) = 1 -- ostatnia cyfra = 1
  3. AND ROUND(number / 10 % 10) = 2 -- druga od końca = 2
  4. AND ROUND(number / 100 % 10) = 3 -- trzecia od końca = 3


W podobny sposób możesz porównywać ze sobą poszczególne cyfry z numerów:
  1. SELECT * FROM `prefix`
  2. WHERE ROUND(number % 10) = ROUND(number / 10 % 10) -- ostatnia cyfra = przedostatnia cyfra
Go to the top of the page
+Quote Post
KR2615
post
Post #3





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Dzieki sowiq, oświeciłeś mnie! W ten sposób rozpykam sobie wszystkie interesujące mnie numerki (IMG:style_emoticons/default/wink.gif) Tylko że musiałem zastąpićfunkcję ROUND() na FLOOR() bo wyrzucała mi numery z koncówkami 67, 89 itp.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:06