从表中选择

时间:2018-12-04 16:26:08

标签: python sqlite

为什么当“ WHERE”条件为数字时,一切正常:

control_date = "11.2018"
sql =   """
        SELECT date_payment, summa_payment
        FROM payment
        WHERE control_date = {control}
        """
cur.execute(sql.format(control = control_date))

当符号条件返回错误时,“ OperationalError:无此类列:november_2018”

control_date = "november_2018"
sql =   """
        SELECT date_payment, summa_payment
        FROM payment
        WHERE control_date = {control}
        """
cur.execute(sql.format(control = control_date))

1 个答案:

答案 0 :(得分:1)

查询将顶部control_date视为数字,因为它仅包含数字字符。由于您没有将底部的control_date放在引号开头的引号("'november_2018'")内,因此不会将其视为字符串,因此查询尝试将其解析为列名。