背景
在 Python2.7 中,可以使用单引号,双引号,三引号表示字符串,当字符串的值为中文时,则会默认转换成unicode。但是在MYSQL中,使用SQL语句时,直接用unicode作为列的查询条件 (例如: name = '\uxxx\uyyy\uzzz\urrr')时,无法匹配到数据。
方案
首先,SQL使用三引号标识
sql = '''SELECT * FROM %s ;'''
cursor.execute(sql %(table_name,))
其次,时间处理, 使用 '%s'
t_format = '%Y-%m-%d %h:%i:%s'
sql = '''SELECT name, DATE_FORMAT(create_time, '%s') as time_stamp, %s FROM %s WHERE create_time BETWEEN '%s' AND '%s' ;'''
cursor.execute(sql %(t_format, table_name,begin_time, end_time))
最后,处理中文, 使用 name = '%s'
sql = '''SELECT name, type FROM table_name WHERE name = '%s';'''
cursor.execute(sql %(name,))
标签:name,SQL,sql,python2.7,unicode,time,MySQL,table From: https://www.cnblogs.com/atuotuo/p/17096066.html