番号。そして、?
の間には直接の対応はありません。 および$1
構文。後者はパラメータの再利用を意味するため、?
それを許可しません。たとえば、? ? ?
$ 1 $ 2 $ 2
であるのに対し、3つのフォーマットパラメータがあることを意味します 2つのフォーマットパラメータがあることを意味します。
可能性は低いですが、直接の対応がないため、変換は一方向でしか可能ではなく、そのようなユーティリティはかなり役に立たなくなります。各?
を置き換える単一の正規表現で、すべてを自分で置き換えることができます。 $
を使用 +インデックス
+ 1
。
これにはあまり選択肢がありません。それをしなければなりません。その上、 $ 1
よりもはるかに柔軟性がありますか?
、パラメータの再利用、およびオプションの拡張機能による。たとえば、 pg-promise
頻繁に必要とされるさまざまなフォーマット修飾子を使用して、それらを非常にうまく拡張します: ^
、〜コード> 、
:json
、:csv
、など...
一方向の適切な変換のためのユーティリティを作成する時間よりも、SQLを手動で変換するために費やす時間が少なくなる可能性があります。