Oracle SQL Developer zablokowane wyszukiwanie?

Oracle SQL Developer zablokowane wyszukiwanie?
R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

Dzień dobry,
mam problem z bazą danych. Najprostsze zapytania nie przynoszą rezultatu.

pytanie
select imie1 from osoby where nazwisko = 'lis';

odpowiedź bazy danych
no rows selected

takie dane w bazie na pewno istnieją a zapytanie zdaje się być poprawne i zdecydowanie bardzo proste. Dlaczego więc nie zwraca żadnego rezultatu? Możliwe, że oracle 11g ma jakieś blokady przed zapytaniami? Jak to ewentualnie odszukać i ustawić?

BlackBad
  • Rejestracja:ponad 8 lat
  • Ostatnio:4 dni
  • Postów:454
0

A jesteś na 100% pewien, że jest nazwisko 'lis' a nie, np 'lis ' albo 'lis
' (tak jak z enterem ... etc. ) ?

Spróbuj:

Kopiuj
select imie1 from osoby where nazwisko LIKE '%lis%';

Ps. składnia dla SQL Server .. zakładam, że to proste zapytanie sie nie będzie różniło dla Oracle.

abrakadaber
abrakadaber
1. nie będzie, 2. ja bym dorzucił jeszcze LOWER na polu nazwisko
R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

Jestem zdecydowanie o tym przekonany. To nie jest moja baza, tylko zaimportowana z uczelni, więc tam na bank jest wszystko dobrze. Problem w tym, że może są jakieś ustawienia, które coś blokują. Być może coś pominąłem przy instalacji serwera u siebie na kompie i dlatego teraz jest problem. Co więcej inne zapytania typu select działają, więc nie mam pojęcia dlaczego raz działa, a raz nie. Już patrzyłem na wszystko, indeksy na tabelach, kodowanie znaków, rodzaj pola (varchar2) itp.

select imie1 from osoby where plec = 'M';

12 rows selected

BlackBad
  • Rejestracja:ponad 8 lat
  • Ostatnio:4 dni
  • Postów:454
0

Jak pominąłeś ? Jeśli jedne "Selcty" Ci działają, a inne nie ... to nie może być problem serwera a zapytań właśnie.

Sprawdziłeś to co powyżej napisałem + opcję o której wspomniał abrakadaber ?
Ps. Czy przy tym zapytaniu z "płec" wylistowało Ci tego "lisa" ?

R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

Sprawdziłem obie opcje i brak rezultatów. Przy płci wyskakuje elegancko.

YA
  • Rejestracja:około 10 lat
  • Ostatnio:minuta
  • Postów:2372
0

Możliwe, że masz nazwisko typu CHAR z paddingiem spacjami. Co zwraca Oracle dla rekordu z nazwiskiem lis ?

Kopiuj
select nazwisko, dump(nazwisko), length(nazwisko) from osoby;
edytowany 2x, ostatnio: yarel
BlackBad
Z 1 postu wynika, że zwraca "no rows selected" - chociaz ja też sądzę, że to musi być coś z "ukrytymi" znakami
YA
Mój błąd przy copy&paste, zedytowane :)
R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

Got
Typ=1 Len=3: 71,111,116
3

31 rows selected

ale Lis no rows selected

edytowany 1x, ostatnio: rav89
YA
A dla tego lisa ?
YA
No ale jak robisz selecta z osoby, bez warunku WHERE, to jakie dane Ci zwraca dla tego rekordu? (Chodzi o ten 1 rekord spośród 31 wybranych).
R8
LIS<br /> Typ=1 Len=3: 76,73,83<br /> 3
YA
no to teraz: select * from osoby where nazwisko='LIS';
R8
rekord się zwraca
BlackBad
  • Rejestracja:ponad 8 lat
  • Ostatnio:4 dni
  • Postów:454
0

A weź no Paine dorzuć do tego zapytania nazwisko:

Kopiuj
select imie1, nazwisko from osoby where plec = 'M'

I skopiuj zawarotść komórki nazwisko dla lisa, i wklej to w warunku WHERE orginalnego zapytania i sprawdź czy Ci zwróci wynik.

Kopiuj
select imie1 from osoby where nazwisko = 'ctrl + v '
R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

Z wklejeniem zadziałało, czy możliwe żeby przy imporcie wkradły się jakieś białe znaki? Ewentualnie inne przyczyny?

BlackBad
  • Rejestracja:ponad 8 lat
  • Ostatnio:4 dni
  • Postów:454
2

No to teraz się pobaw ... musisz wyczaić czy masz jakieś specjalne znaki w tej komórce .. a może l "L" to wcale nie L ? ;) A może to duże "i" I .. albo | kreska ;)
Sprawdź długość ciągu LEN .. jeśli masz 3 znaki to znaczy że coś z tym L jest nie teges, wtedy sprawdź kod ASCII dla 1 znaku:
itp. itd.

R8
  • Rejestracja:około 6 lat
  • Ostatnio:5 miesięcy
  • Postów:39
0

OK, czyli wszytko jasne :) Dzięki wielkie za pomoc :) biorę się do roboty

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.