sql >> Database >  >> RDS >> PostgreSQL

SQLAlchemy Core - PostgreSQL SUBSTRING-expressie genereren?

qLooking via de SqLooking , vond ik dat sqlalchemy.sql.expression.func.substring compileert naar SUBSTRING voor 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]) is inderdaad wat je wilt. Het is "door komma's afgebakend" omdat dat is hoe Python-methoden

Als je de SQL zelf wilt genereren, kun je zoiets doen als text("SUBSTRING('foo' FROM 1 FOR 2)") , maar ik zie niet in waarom je dat zou doen.




  1. AWS Summits 2018:samenvatting van Chicago

  2. Hoe records met maximale waarden in twee kolommen selecteren?

  3. Hoe u de native gecompileerde opgeslagen procedures van Hekaton niet aanroept?

  4. mysql:BRON fout 2?