So vermeiden Sie, dass Zeichenfolgen durch die Verwendung einer Verknüpfung zur Groß-/Kleinschreibung beeinflusst werden

So vermeiden Sie, dass Zeichenfolgen durch die Verwendung einer Verknüpfung zur Groß-/Kleinschreibung beeinflusst werden

Ich verwende Oracle SQL Developer zum Ausführen von Abfragen. Ich wünschte, die Tastenkombination „In Kleinbuchstaben umwandeln“ würde sich nicht auf den Text innerhalb der „Apostrophe“ auswirken.

Notepad++ ist viel augenfreundlicher, daher wird die Abfrage dort geschrieben und dann in Oracle kopiert und eingefügt. Ich habe alle Tastenkombinationen, die ich früher in Oracle verwendet habe, auf N++ abgebildet, aber die Zeichenfolgen werden jetzt auch in Kleinbuchstaben umgewandelt.

Gibt es eine Möglichkeit, dies zu stoppen?

Beispiel:

CASE
WHEN table.attribute = 'CaseSensitiveStringValue'
  THEN 'OutcomeValue'
  ELSE 'OTHERValue'
END AS CASEName

Nach der Konvertierung in Kleinbuchstaben sieht SQL Developer folgendermaßen aus:

case
when table.attribute = 'CaseSensitiveStringValue'
  then 'OutcomeValue'
  else 'OTHERValue'
end as casename

Beachten Sie, dass die Zeichenfolgen von der Konvertierung nicht betroffen waren. In Notepad++ lautet das Ergebnis der Konvertierung in Kleinbuchstaben wie folgt:

case
when table.attribute = 'casesensitivestringvalue'
  then 'outcomevalue'
  else 'othervalue'
end as casename

Beachten Sie, dass der gesamte Text, einschließlich Zeichenfolgen, jetzt in Kleinbuchstaben geschrieben ist. Dies würde den Code beschädigen, wenn der Wert zwischen Groß- und Kleinschreibung unterscheidet.

Antwort1

Verwenden der Suchen- und Ersetzen-Funktion in Notepad++:

  • Ctrl+H
  • Finde was:'[^']+'(*SKIP)(*FAIL)|\w+
  • Ersetzen mit:\L$0
  • check Umwickeln
  • check Regulärer Ausdruck
  • Replace all

Erläuterung:

'[^']+'         # NOt a single quote between 2 single quote (i.e. strings we don't want to convert)
(*SKIP)         # skip this string
(*FAIL)         # fail to match
|               # OR
\w+             # 1 or more word character

Ersatz:

\L$0        # lowercase the whole match (i.e. the string NOT between quotes)

Ergebnis für gegebenes Beispiel:

case
when table.attribute = 'CaseSensitiveStringValue'
  then 'OutcomeValue'
  else 'OTHERValue'
end as casename

Bildschirmaufnahme:

Bildbeschreibung hier eingeben

verwandte Informationen