Kann ich anmutig gehören formatierte SQL-Zeichenfolgen in ein R-Skript?
Arbeite ich in einem R-Skript, dass verwendet eine lange SQL-string, und ich möchte zu halten, die Abfrage relativ frei von anderen markup, um zu ermöglichen, kopieren und einfügen zwischen Editoren und Anwendungen. Ich möchte auch die Fähigkeit zum Spalten der Abfrage über Zeilen für eine bessere Lesbarkeit.
In der RODBC Dokumentation, die paste
Funktion wird verwendet, um die Abfrage erstellen aus getrennten Stücken, aber ich würde lieber etwas weniger notdürftigem und mit weniger Anführungszeichen und Kommas. Vielen Dank für Ihre Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie überschreiben, % + % - operator, um bessere string-concatination syntax:
ergibt:
Wenn Sie eine alte C-Programmierer von Weg zurück, so wie ich bin, können Sie genießen Sie einfach mit sprintf().
Kreditaufnahme Ian Beispiel:
ergibt:
Anmutige Weise von "einschließlich" eine lange SQL-Abfrage, um es zu halten in einem separaten
.sql
- Datei. Vorzugsweise irgendwo, kann es sein, syntax hervorgehoben, eine text-Datei in RStudio wird die Arbeit machen. Sie können dann in Ihrem Haupt-R-Skript liest die Datei in einen string und füllen Sie es mit Variablen mit einem der vielen "mit dem Namen"sprintf
-Art-Lösungen, wie infuser..sql
.R
Ich würde empfehlen, nur mit einem einfachen string, und nicht die Einbettung von Variablenwerten in es. Verwenden Sie Platzhalter anstelle.
Ich bin mir nicht sicher, ob das double-quote ist die beste Möglichkeit zum einbetten von multi-line-strings in R-code (gibt es so etwas wie hier-docs?), aber es funktioniert, anders als in Java.
Gibt es einigen Grund, die Sie nicht senden möchten
"\n"
oder"\t"
zu Ihrer Datenbank? Sie sollten in Ordnung sein in der SQL.Hab ich endete einfaches drücken der sql-string mit
sql <- gsub("\n","",sql)
undsql <- gsub("\t","",sql)
bevor es läuft. Der string selbst kann so lange, wie Sie benötigt werden, bleibt aber frei von jeder Verkettung markup.