python2.7 + MySQL 拼接SQL语句的技巧 (处理unicode,时间)
背景
在 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,))
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2017-02-06 (转)编写 DockerFile