当前位置: 首页 > 面试题库 >

sqlalchemy不为空选择

贺善
2023-03-14
问题内容

如何像在SQL中一样添加过滤器,以从特定列中选择非空值?

SELECT * 
FROM table 
WHERE YourColumn IS NOT NULL;

如何使用SQLAlchemy过滤器执行相同操作?

select = select(table).select_from(table).where(all_filters)

问题答案:

column_obj != None会产生一个IS NOT NULL约束:

在列上下文中,产生子句a != b。如果目标是None,则生成一个IS NOT NULL

或使用isnot()(0.7.9中的新功能):

实施IS NOT操作员。

通常,IS NOT当与的值进行比较时,会自动生成None,解析为NULL。但是,IS NOT如果与某些平台上的布尔值进行比较,则可能需要显式使用。

演示:

>>> from sqlalchemy.sql import column
>>> column('YourColumn') != None
<sqlalchemy.sql.elements.BinaryExpression object at 0x10c8d8b90>
>>> str(column('YourColumn') != None)
'"YourColumn" IS NOT NULL'
>>> column('YourColumn').isnot(None)
<sqlalchemy.sql.elements.BinaryExpression object at 0x104603850>
>>> str(column('YourColumn').isnot(None))
'"YourColumn" IS NOT NULL'


 类似资料:
  • 问题内容: 在MySQL中,是否只能选择存在某些内容的列? 例如,我有以下查询: 我试图仅选择电话以813开头并且phone2中包含某些内容的行。 问题答案: 比较空字符串的值: 请注意,值解释为。

  • 本文向大家介绍sqlalchemy 筛选,包括了sqlalchemy 筛选的使用技巧和注意事项,需要的朋友参考一下 示例 给定以下模型 您可以过滤查询中的列: 对于第一种情况,有一个快捷方式: 可以使用AND关系通过链接filter方法来构成过滤器: 或更灵活地使用重载按位运算符&和|: 不要忘记内括号来处理运算符优先级。

  • 问题内容: 我有一个很奇怪的要求,其中要求我默认在HTML的下拉菜单中没有选择任何选项。然而, 我不能用这个 因为,为此,我将必须进行验证以处理第一个选项。有人可以在没有将第一个选项作为select标签的一部分的情况下帮助我实现此目标吗? 问题答案: 也许这会有所帮助 将默认显示。但是,如果您选择一个选项,则将无法再次选择它。 您也可以通过添加一个空白来隐藏它 因此它将不再显示在列表中。 选项2

  • 问题内容: 这是我的(PostgreSQL)表- 我想选择所有 不 知道要结婚的人,即包括那些拥有NULL wedding_status的人。 这并 不能 正常工作- 当然可以- 问题是我正在使用-从SQLAlchemy访问它 转换为- 而且也 没有 工作- 也不- 如何通过SQLAlchemy选择NULL值? 问题答案: (由指示@augurar)):因为 SQLAlchemy的 使用 魔术方法

  • 问题内容: 您如何编写SELECT语句,该语句仅返回某列的值为空的行? 问题答案: 您的意思是: ?

  • 我当前的查询看起来像这样: 但是,在输入他们的名字或姓氏时,客人可能会决定在他们的名字中加一个空格(例如,安妮·玛丽或安妮·玛丽或安妮·玛丽应该是同一个人)。我想做的是能够执行上面的代码,但是where语句只能基于字母进行比较,而不考虑空格和大小写。我希望这是有意义的! 我将在表“来宾”中预先填入我的来宾姓名。我不想输入没有大写或空格的姓名,因为这些信息也将用于联系他们。 帮忙?