Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menapis Medan Tarikh SQLAlchemy dengan Cekap mengikut Julat?
Penapisan Medan Tarikh SQLchemy
Menapis medan tarikh dalam SQLAlchemy membolehkan pemilihan rekod yang tepat dalam julat tarikh yang ditentukan. Pertimbangkan model berikut:
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Menapis Julat Tarikh
Untuk menapis pengguna dalam lingkungan umur tertentu, anda boleh memanfaatkan mekanisme penapisan SQLAlchemy:
query = DBSession.query(User).filter( and_( User.birthday >= '1988-01-17', User.birthday <= '1985-01-17' ) )
Walau bagaimanapun, pendekatan ini mengandungi kesilapan menaip. Untuk memilih pengguna yang berumur antara 18 dan 30 tahun, anda harus menukar operator yang lebih besar daripada atau sama dengan (>=) dan kurang daripada atau sama dengan (<=):
query = DBSession.query(User).filter( and_( User.birthday <= '1988-01-17', User.birthday >= '1985-01-17' ) )
Menggunakan Antara
Pendekatan alternatif ialah menggunakan kaedah antara, yang membenarkan spesifikasi langsung tarikh julat:
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
Atas ialah kandungan terperinci Bagaimana untuk Menapis Medan Tarikh SQLAlchemy dengan Cekap mengikut Julat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!