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.