sql >> データベース >  >> RDS >> PostgreSQL

SQLAlchemy Core-PostgreSQL SUBSTRING式を生成しますか?

    SqlAlchemyテストを確認するsqlalchemy.sql.expression.func.substring SUBSTRINGにコンパイルされます 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]) 確かにあなたが望むものです。 Pythonメソッド

    の方法であるため、これは「コンマで描写された」ものです。

    SQLを自分で生成する場合は、text("SUBSTRING('foo' FROM 1 FOR 2)")のように実行できます。 、しかし、なぜそうするのかわかりません。




    1. 既存の列のデフォルト値を設定する方法

    2. 階層データセットで複雑な合計を計算するのに役立ちます

    3. 複数の結合を処理する方法

    4. 代わりのトリガーの主張–パート1