Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak przekonwertować powiązane parametry w stylu MySQL ze znakiem zapytania `?` na powiązane parametry w stylu Postgres `$1`?

NIE. I nie ma bezpośredniej korespondencji między ? i 1 USD składnia, ponieważ ta ostatnia oznacza ponowne użycie parametrów, podczas gdy ? na to nie pozwala. Na przykład używając ? ? ? oznacza, że ​​masz 3 parametry formatowania, podczas gdy $1 $2 $2 oznacza, że ​​masz dwa parametry formatowania.

Mało prawdopodobne, ponieważ nie ma bezpośredniej korespondencji, konwersja jest możliwa tylko w jedną stronę, co czyniłoby takie narzędzie dość bezużytecznym. Możesz samodzielnie wszystko zastąpić jednym wyrażeniem regularnym, zastępując każdy ? z $ + indeks + 1 .

Tak naprawdę nie masz w tym wielkiego wyboru. To musi być zrobione. Poza tym 1 USD jest o wiele bardziej elastyczny niż ? , ze względu na ponowne użycie parametrów oraz opcjonalne rozszerzenia. Na przykład pg-promise bardzo ładnie je rozszerza, z różnymi modyfikatorami formatowania, które są często potrzebne:^ , ~ , :json , :csv itp...

Prawdopodobnie poświęcisz mniej czasu na ręczną konwersję kodu SQL niż czas na napisanie narzędzia do jednokierunkowej prawidłowej konwersji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TRIGGER lub MULTI Wstaw

  2. Callback MySQL - czy istnieje coś takiego?

  3. Porównanie między wtyczką MySQL Clone a Xtrabackup

  4. Tworzenie pustego wiersza dla powtarzającego się wiersza

  5. Jak określić, ile miejsca na dysku zajmuje konkretna tabela MySQL?