sql >> Databáze >  >> RDS >> Mysql

Jak převést vázané parametry otazníku `?` ve stylu MySQL na vázaný parametr `$1` ve stylu Postgresu

NE. A neexistuje žádná přímá korespondence mezi ? a $1 syntaxe, protože druhá znamená opětovné použití parametru, zatímco ? to nedovoluje. Například pomocí ? ? ? znamená, že máte 3 parametry formátování, zatímco $1 $2 $2 znamená, že máte dva parametry formátování.

Není pravděpodobné, protože neexistuje žádná přímá korespondence, převod je možný pouze jednosměrně, což by znamenalo, že takový nástroj je docela zbytečný. Vše můžete nahradit sami jedním regulárním výrazem, který nahradí každý ? s $ + index + 1 .

V tomhle fakt nemáš moc na výběr. Musí se to udělat. Kromě toho $1 je mnohem flexibilnější než ? , kvůli opětovnému použití parametrů a volitelným rozšířením. Například pg-promise velmi pěkně je rozšiřuje pomocí různých modifikátorů formátování, které jsou často potřeba:^ , ~ , :json , :csv , atd...

Pravděpodobně strávíte méně času ručním převodem SQL než psaním nástroje pro jednosměrný správný převod.



  1. Jak najít duplicitní hodnoty v tabulce SQL

  2. Mysql multiplikační dotaz

  3. Použití konfiguračních tabulek k definování skutečného pracovního postupu

  4. Povolení virtualizace v BIOSu v notebooku nebo stolním počítači pro Virtualbox VM