@@ -11,10 +11,11 @@ import (
1111)
1212
1313var (
14- tmFmtZero = "0000-00-00 00:00:00"
15- tmFmtWithMS = "2006-01-02 15:04:05.999"
16- escaper = "'"
17- nullStr = "NULL"
14+ tmFmtZero = "0000-00-00 00:00:00"
15+ tmFmtWithMS = "2006-01-02 15:04:05.999"
16+ escaper = "'"
17+ nullStr = "NULL"
18+ singleQuoteEscaper = "\\ "
1819)
1920
2021//Escape escape the val for sql
@@ -69,7 +70,7 @@ func EscapeInLocation(val interface{}, loc *time.Location) string {
6970 return fmt .Sprintf ("%.6f" , v )
7071
7172 case string :
72- return escaper + strings .Replace (v , escaper , " \\ " + escaper , - 1 ) + escaper
73+ return escaper + strings .Replace (v , escaper , singleQuoteEscaper + escaper , - 1 ) + escaper
7374 default :
7475 refValue := reflect .ValueOf (v )
7576 if v == nil || ! refValue .IsValid () {
@@ -93,7 +94,7 @@ func EscapeInLocation(val interface{}, loc *time.Location) string {
9394 if err != nil {
9495 return nullStr
9596 }
96- return escaper + strings .Replace (string (stringifyData ), escaper , " \\ " + escaper , - 1 ) + escaper
97+ return escaper + strings .Replace (string (stringifyData ), escaper , singleQuoteEscaper + escaper , - 1 ) + escaper
9798
9899 }
99100}
@@ -141,3 +142,8 @@ func FormatInLocation(query string, loc *time.Location, args ...interface{}) str
141142 }
142143 return sql .String ()
143144}
145+
146+ //SetSingleQuoteEscaper set the singleQuoteEscaper
147+ func SetSingleQuoteEscaper (escaper string ) {
148+ singleQuoteEscaper = escaper
149+ }
0 commit comments