Like - operator % na końcu

Odpowiedz Nowy wątek
2018-12-12 15:20
0

Mam taki skrypt:

insert into Persons values (20, 'Mark', '[email protected]', 2, 30)
select * from Persons where [Name] = 'Mark'
select * from Persons where [Name] like 'Mark'

Pierwszy select zwraca jeden rekord, drugi nie zwraca żadnego. Zadziała, jeśli w drugim selekcie dodam znak % na końcu. Ale dlaczego? O ile wiem, to % oznacza "są jakieś znaki lub nie ma wcale".

Pozostało 580 znaków

2018-12-12 15:49
0

Jesteś pewien, że w Twojej tabeli name jest drugą kolumną, a nie trzecią?


Pozostało 580 znaków

2018-12-12 15:51
0

Jest drugą - pierwsza to Id. Wiem, że to dziwne, po prostu trochę się bawię SQLem. Może ma ktoś u siebie zainstalowany SQL Server i mógłby sprawdzić, jak to wygląda u niego?

edytowany 1x, ostatnio: nobody01, 2018-12-12 15:53

Pozostało 580 znaków

2018-12-12 15:56
1

Sprawdź czy za słowem Mark nie kryją się jeszcze inne, niewidoczne znaki

edytowany 1x, ostatnio: a_s_f, 2018-12-12 15:56

Pozostało 580 znaków

2018-12-12 16:11

pola char(N) mają subtelne różnice w porownaniu do varchar(N),i spacje końcowe są jedną zróznic.
Zalezy od definicji tabeli

Pozostało 580 znaków

2018-12-12 16:18
1

Zobacz co tam binarnie siedzi:

SELECT CONVERT(VARBINARY(MAX), NAME),name FROM Persons WHERE [Name] = 'Mark'

Pozostało 580 znaków

2018-12-12 16:32
0

Ok, sprawdziłem, tak jak napisał @yarel, i okazało się, że na końcu siedzi sporo spacji, bo typ kolumny to nchar. Chyba @AnyKtokolwiek chyba od razu wiedział, gdzie jest problem. ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0