PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

SQLAlchemy Core - generowanie wyrażenia PostgreSQL SUBSTRING?

Przeglądanie testów , odkryłem, że sqlalchemy.sql.expression.func.substring kompiluje do SUBSTRING dla PSQL :

    def test_substring(self):
        self.assert_compile(
            func.substring("abc", 1, 2),
            "SUBSTRING(%(substring_1)s FROM %(substring_2)s "
            "FOR %(substring_3)s)",
        )
        self.assert_compile(
            func.substring("abc", 1),
            "SUBSTRING(%(substring_1)s FROM %(substring_2)s)",
        )

func.substring(str, from, [for]) jest rzeczywiście tym, czego chcesz. Jest "oddzielony przecinkami", ponieważ tak właśnie działają metody Pythona

Jeśli chcesz samodzielnie wygenerować kod SQL, możesz zrobić coś takiego jak text("SUBSTRING('foo' FROM 1 FOR 2)") , ale nie rozumiem, dlaczego miałbyś to zrobić.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić wynik zapytań SQL z LIMIT w każdym zapytaniu?

  2. Tabele danych — dane wyjściowe Json — PostgreSQL — zwraca wartość null

  3. Czy mogę "ponownie skompilować" funkcje zwracające tabelę po tym, jak ta tabela zostanie zmieniona podczas migracji bazy danych?

  4. Jaki jest koszt ograniczeń CHECK w Postgresie 9.x?

  5. Statystyki zasięgu kodu