![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z porównianiem tak, jak w temacie dwóch kolumn typu varchar. Mam dwie kolumny typu varchar i chciałbym uzyskać tylko ten rekord, w którym dane się nie powielają. Korzystam z zapytania:
I podaje mi, pusty wynik, chociaż na 100% jest inna wartość. Próbowałem z Like:
Ale też pojawia się pusty wynik. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A są wiersze spełniające warunek złączenia?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A jaki masz ustawiony algorytm porównywania znaków, i jakich różnic szukasz?
Bo na przykład dla utf8_general_ci 'dwóch' = 'DWOCH' = 'DwÓcH' = ... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dla oby dwóch mam latin2_general_ci, poza tym,
najczęsciej jest to porównanie jakiegośc stringu z wartością null |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT 'aa' <> NULL > NULL SELECT 'aa' = NULL > NULL SELECT 'aa' LIKE NULL > NULL SELECT 'aa' NOT LIKE NULL > NULL Jak chcesz sprawdzać NULL musisz użyć IS NULL / IS NOT NULL Ten post edytował Mchl 30.04.2010, 08:05:25 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Do tego co napisał Mchl jako ciekawostkę dodam, że NULL NULLowi nierówny
![]() Kod mysql> SELECT IF(NULL = NULL, 'rowne', 'rozne'); +-----------------------------------+ | IF(NULL = NULL, 'rowne', 'rozne') | +-----------------------------------+ | rozne | +-----------------------------------+ 1 row in set (0.00 sec) Wydawać się to może głupie i dziwne, ale wynika to stąd, że NULL tak naprawdę nie ma wartości (to po prostu NULL ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki, za info NULL'em, kompletnie o tym zapomniałem:(
Prawidłowe zapytanie powinno wygładać tak:
I teraz wszystko śmiga:) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:45 |