NÃO. E não há correspondência direta entre
?
e $1
sintaxe, porque o último implica a reutilização de parâmetros, enquanto ?
não permite. Por exemplo, usando ? ? ?
implica que você tem 3 parâmetros de formatação, enquanto $1 $2 $2
implica que você tem dois parâmetros de formatação. Não é provável, já que não há correspondência direta, a conversão só é possível em um sentido, o que tornaria tal utilidade bastante inútil. Você pode substituir tudo sozinho, com uma única expressão regular, substituindo cada
?
com $
+ index
+ 1
. Você realmente não tem muita escolha nisso. Isso tem que ser feito. Além disso,
$1
é muito mais flexível que ?
, devido à reutilização de parâmetros, além de extensões opcionais. Por exemplo, pg-promise
estende-os muito bem, com vários modificadores de formatação que são necessários com frequência:^
, ~
, :json
, :csv
, etc... Você provavelmente gastará menos tempo convertendo seu SQL manualmente do que o tempo para escrever um utilitário para a conversão adequada unidirecional.