@@ -253,6 +253,8 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin
253253 } else {
254254 v := v .In (mc .cfg .loc )
255255 year := v .Year ()
256+ year100 := year / 100
257+ year1 := year % 100
256258 month := v .Month ()
257259 day := v .Day ()
258260 hour := v .Hour ()
@@ -261,37 +263,30 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin
261263 micro := v .Nanosecond () / 1000
262264
263265 buf = append (buf , []byte {
264- byte ('\'' ),
265- byte ('0' + year / 1000 ),
266- byte ('0' + year / 100 % 10 ),
267- byte ('0' + year / 10 % 10 ),
268- byte ('0' + year % 10 ),
269- byte ('-' ),
270- byte ('0' + month / 10 ),
271- byte ('0' + month % 10 ),
272- byte ('-' ),
273- byte ('0' + day / 10 ),
274- byte ('0' + day % 10 ),
275- byte (' ' ),
276- byte ('0' + hour / 10 ),
277- byte ('0' + hour % 10 ),
278- byte (':' ),
279- byte ('0' + minute / 10 ),
280- byte ('0' + minute % 10 ),
281- byte (':' ),
282- byte ('0' + second / 10 ),
283- byte ('0' + second % 10 ),
266+ '\'' ,
267+ digits10 [year100 ], digits01 [year100 ],
268+ digits10 [year1 ], digits01 [year1 ],
269+ '-' ,
270+ digits10 [month ], digits01 [month ],
271+ '-' ,
272+ digits10 [day ], digits01 [day ],
273+ ' ' ,
274+ digits10 [hour ], digits01 [hour ],
275+ ':' ,
276+ digits10 [minute ], digits01 [minute ],
277+ ':' ,
278+ digits10 [second ], digits01 [second ],
284279 }... )
285280
286281 if micro != 0 {
282+ micro10000 := micro / 10000
283+ micro100 := micro / 100 % 100
284+ micro1 := micro % 100
287285 buf = append (buf , []byte {
288- byte ('.' ),
289- byte ('0' + micro / 100000 ),
290- byte ('0' + micro / 10000 % 10 ),
291- byte ('0' + micro / 1000 % 10 ),
292- byte ('0' + micro / 100 % 10 ),
293- byte ('0' + micro / 10 % 10 ),
294- byte ('0' + micro % 10 ),
286+ '.' ,
287+ digits10 [micro10000 ], digits01 [micro10000 ],
288+ digits10 [micro100 ], digits01 [micro100 ],
289+ digits10 [micro1 ], digits01 [micro1 ],
295290 }... )
296291 }
297292 buf = append (buf , '\'' )
0 commit comments