sql >> Databasteknik >  >> RDS >> PostgreSQL

SQLAlchemy Core - genererar PostgreSQL SUBSTRING-uttryck?

testook_881.q">testook_compiler. , jag upptäckte att sqlalchemy.sql.expression.func.substring kompilerar till SUBSTRING för 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]) är verkligen vad du vill. Det är "komma-avgränsat" eftersom det är så Python metoder

Om du vill skapa SQL själv kan du göra något som text("SUBSTRING('foo' FROM 1 FOR 2)") , men jag förstår inte varför du skulle göra det.




  1. MYSQL åtkomstkontroll

  2. nvarchar-konkatenering / index / nvarchar(max) oförklarligt beteende

  3. Få en tidsstämpel från sammanlänkande dag- och tidskolumner

  4. Min sql väljer från flera tabeller kontra join