Jak porównywać ciągi, aby porównanie było prawdziwe tylko wtedy, gdy przypadki każdego z ciągów również są równe. Na przykład:
Select * from a_table where attribute = 'k'
... zwróci wiersz z atrybutem „K”. Nie chcę tego zachowania.
sql
sql-server
amccormack
źródło
źródło
Odpowiedzi:
Wykonał lewę.
źródło
Latin1_General_CS_AS
to specyfikacja sortowania. Sortowanie odnosi się do zestawu reguł, które określają sposób sortowania i porównywania danych. Zobacz tę stronę, aby uzyskać więcej informacji.Możesz również przekonwertować ten atrybut na wielkość liter, używając następującej składni:
Teraz w wyszukiwaniu rozróżniana jest wielkość liter .
Jeśli chcesz ponownie rozróżnić wielkość liter w tej kolumnie , użyj
źródło
Możesz łatwo przekonwertować kolumny na VARBINARY (maksymalna długość), długość musi być wartością maksymalną, jakiej można się spodziewać, aby uniknąć wadliwego porównania, wystarczy ustawić długość jako długość kolumny. Przytnij kolumnę pomaga porównać rzeczywistą wartość, z wyjątkiem tego, że spacja ma znaczenie i jest wyceniana w kolumnach tabeli. To prosta próbka. Jak widać I Przytnij wartość kolumny, a następnie przekonwertuj i porównaj:
Mam nadzieję, że to pomoże.
źródło
Jako kolejną alternatywę możesz użyć HASHBYTES, coś takiego:
źródło
Możesz zdefiniować
attribute
jako,BINARY
użyćINSTR
lub,STRCMP
aby przeprowadzić wyszukiwanie.źródło
INSTR
iSTRCMP
funkcji.