結果の文字数でSqlAlchemy列をフィルタリングするにはどうすればよいですか?
これが私が見ている一種の実装です。
クエリ = query.filter(Take_Last_7_Characters(column_1) == '0321334')
「Take_Last_7_Characters」は、column_1 の結果の値から最後の 7 文字をフェッチします。
では、 Take_Last_7_Characters(column_1) を実装するにはどうすればよいですか??
結果の文字数でSqlAlchemy列をフィルタリングするにはどうすればよいですか?
これが私が見ている一種の実装です。
クエリ = query.filter(Take_Last_7_Characters(column_1) == '0321334')
「Take_Last_7_Characters」は、column_1 の結果の値から最後の 7 文字をフェッチします。
では、 Take_Last_7_Characters(column_1) を実装するにはどうすればよいですか??
を使用sqlalchemy.sql.expression.func
して、SQL 関数を生成します。
func
@tuxudayの指示に従って、を使用してSQL関数を生成してください。
コードはRDBMSに依存していることに注意してください。以下のコードはSQLite
、を提供しSUBSTR
、LENGTH
機能するために実行されます。実際のデータベースでは、それらの名前が異なる場合があります(LEN, SUSBSTRING, LEFT, RIGHT
など)。
qry = session.query(Test)
qry = qry.filter(func.SUBST(Test.column_1, func.LENGTH(Test.column_1) - 6, 7) == '0321334')