我必须检查数据库中是否有null,
我需要检查11列(or
)和加号,以及年份(例如2017%
)。
def test():
sql= "select date from a000760 where (total_assets is null or total_liabilities is null or sales_figures is null or sales_cost is null or business_profits is null or gross_margin is null or current_income is null or depreciation_expense_of_tangible_assets is null or liquid_asset is null or noncurrent_asset is null or liquid_liability is null) and (date like '2010%')"
curs.execute(sql)
#year="2010"
#curs.execute("select date from a000760 where (total_assets is null or total_liabilities is null or sales_figures is null or sales_cost is null or business_profits is null or gross_margin is null or current_income is null or depreciation_expense_of_tangible_assets is null or liquid_asset is null or noncurrent_asset is null or liquid_liability is null) and (date like %s)",year)
result = curs.fetchall()
if len(result)>0: // print shows () even if it's none. so, I use this
print "a000760"
print "2010 null exists"
这是一个表的测试版本。 我必须检查超过2000个表。 它适用于此def并显示错误(仅适用于一个表)。 但它不适用于总表。 我收到了这个错误:
Warning: (1292, "Incorrect date value: '2010%' for column 'date' at row 1")
我不知道怎么样......
我搜索了整个语法,
但是当我输入%2017%
时,它不起作用。
答案 0 :(得分:0)
不要将like
与日期一起使用!日期不是字符串。
你可以这样做:
year(date) = 2010
或者:
date >= '2010-01-01' and date < '2011-01-01'