NEJ. Och det finns ingen direkt överensstämmelse mellan ?
och $1
syntax, eftersom den senare innebär återanvändning av parameter, medan ?
tillåter det inte. Använd till exempel ? ? ?
innebär att du har 3 formateringsparametrar, medan $1 $2 $2
innebär att du har två formateringsparametrar.
Inte troligt, eftersom det inte finns någon direkt korrespondens, är konverteringen möjlig endast på ett sätt, vilket skulle göra ett sådant verktyg ganska värdelöst. Du kan ersätta allt själv, med ett enda reguljärt uttryck, och ersätta varje ?
med $
+ index
+ 1
.
Du har egentligen inte så mycket val i detta. Det måste göras. Dessutom $1
är mycket mer flexibel än ?
, på grund av återanvändning av parameter, plus valfria tillägg. Till exempel, pg-promise
utökar dem mycket fint, med olika formateringsmodifierare som behövs ofta:^
, ~
, :json
, :csv
, etc...
Du kommer sannolikt att spendera mindre tid på att konvertera din SQL för hand än på att skriva ett verktyg för enkelriktad konvertering.