SQL表名使用占位符及字符串格式化问题

结论

不能整个表名都用占位符代替,可将表名部分用占位符代替。//不知道是否正确,反正我这代码没报错了(手动狗头)。

例子

开始时将整个表名DayRunRecord20180615用%s占位,一直报错。改为拼接表名DayRunRecord%s后通过。后面还有LIKE的占位,后面在更新。

格式类型

%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符”%”

后记

上面的例子是用Python连接MSSQL,即便PepoleNumber=%d写成PepoleNumber=%s也是没用问题的,但是其他数据库没测试。为了防止sql注入攻击,不同数据库SQL语句拼接方法应该会有差异。
P.S.我英语也渣啊,但PepoleNumber的拼写错误确实是其他公司程序猿挖的坑,我每次都要搞错啊啊啊啊。还好我只写写脚本,改改出勤……

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注