Ich habe die folgenden Daten in einer Tabelle
PriceOrderShipped
PriceOrderShippedInbound
PriceOrderShippedOutbound
In SQL muss ich eine Abfrage schreiben, die nach einer Zeichenfolge in einer Tabelle sucht. Bei der Suche nach einer Zeichenfolge sollte die Groß- und Kleinschreibung ignoriert werden. Für die unten genannte SQL-Abfrage
SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%PriceOrder%'
gibt alle oben genannten Daten an, während
SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%Priceorder%'
gibt nicht.
Z.B. Wenn ich nach 'PriceOrder' oder 'priceOrder' suche, funktioniert es, aber 'priceorder' oder 'Priceorder' funktionieren nicht. Ich habe mit der folgenden Abfrage versucht, COLLATE zu verwenden, aber es funktioniert nicht. Lass mich wissen, wo ich falsch liege.
SELECT DISTINCT COL_NAME FROM myTable WHERE
COL_NAME COLLATE latin1_general_cs LIKE '%Priceorder%'
sql
sql-server
case-insensitive
sql-like
ignore-case
Stoßwelle
quelle
quelle
Antworten:
Verwenden Sie so etwas -
oder
quelle
UPPER
oderLOWER
Kleinschreibung konvertieren oder dann dieLIKE
Suchfunktion verwenden?Siehe diese ähnliche Frage und Antwort zur Suche mit Groß- und Kleinschreibung - SQL Server ignoriert Groß- und Kleinschreibung in einem where-Ausdruck
Versuchen Sie etwas wie:
quelle
So was.
In postgresql.
quelle
Sie sollten wahrscheinlich
SQL_Latin1_General_Cp1_CI_AS_KI_WI
als Ihre Zusammenstellung verwenden. Bei dem in Ihrer Frage angegebenen Wert wird ausdrücklich zwischen Groß- und Kleinschreibung unterschieden.Eine Liste der Kollatierungen finden Sie hier .
quelle