sql >> Database teknologi >  >> RDS >> PostgreSQL

SQLAlchemy Core - genererer PostgreSQL SUBSTRING udtryk?

testook_881.q">testook_compiler. , jeg fandt ud af, at sqlalchemy.sql.expression.func.substring kompilerer til SUBSTRING til 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]) er virkelig hvad du ønsker. Det er "komma-afgrænset", fordi det er sådan Python metoder

Hvis du vil generere SQL selv, kan du gøre noget som text("SUBSTRING('foo' FROM 1 FOR 2)") , men jeg kan ikke se, hvorfor du ville.




  1. Opdel strenge ved hjælp af mysql

  2. ORA-01008:ikke alle variable er bundet. De er bundet

  3. MAMP mysql starter ikke

  4. Codeigniter - flere databaseforbindelser