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: