NEIN. Und es gibt keine direkte Entsprechung zwischen ?
und $1
Syntax, da letztere die Wiederverwendung von Parametern impliziert, während ?
erlaubt es nicht. Verwenden Sie beispielsweise ? ? ?
impliziert, dass Sie 3 Formatierungsparameter haben, während $1 $2 $2
impliziert, dass Sie zwei Formatierungsparameter haben.
Unwahrscheinlich, da es keine direkte Korrespondenz gibt, ist die Konvertierung nur in eine Richtung möglich, was ein solches Dienstprogramm ziemlich nutzlos machen würde. Sie können alles selbst durch einen einzigen regulären Ausdruck ersetzen, indem Sie jedes ?
ersetzen mit $
+ index
+ 1
.
Du hast da nicht wirklich viel Wahl. Es muss getan werden. Außerdem $1
ist viel flexibler als ?
, aufgrund der Wiederverwendung von Parametern, plus optionale Erweiterungen. Beispiel:pg-promise
erweitert sie sehr schön, mit verschiedenen Formatierungsmodifikatoren, die häufig benötigt werden:^
, ~
, :json
, :csv
, usw...
Sie werden wahrscheinlich weniger Zeit damit verbringen, Ihr SQL von Hand zu konvertieren, als ein Dienstprogramm für die richtige Konvertierung in eine Richtung zu schreiben.