NON. Et il n'y a pas de correspondance directe entre ?
et $1
syntaxe, car cette dernière implique la réutilisation des paramètres, tandis que ?
ne le permet pas. Par exemple, en utilisant ? ? ?
implique que vous avez 3 paramètres de formatage, tandis que $1 $2 $2
implique que vous avez deux paramètres de formatage.
Peu probable, puisqu'il n'y a pas de correspondance directe, la conversion n'est possible que dans un sens, ce qui rendrait un tel utilitaire assez inutile. Vous pouvez tout remplacer vous-même, avec une seule expression régulière, en remplaçant chaque ?
avec $
+ index
+ 1
.
Vous n'avez pas vraiment le choix. Il faut le faire. En plus, $1
est bien plus flexible que ?
, en raison de la réutilisation des paramètres, ainsi que des extensions facultatives. Par exemple, pg-promise
les étend très bien, avec divers modificateurs de formatage fréquemment nécessaires :^
, ~
, :json
, :csv
, etc...
Vous passerez probablement moins de temps à convertir votre SQL à la main qu'à écrire un utilitaire pour la conversion correcte à sens unique.