like 语句 “%%%”, 会返回所有的数据。如果想输入"%" 只返回含有"%"的数据,则需要对输入的%进行转义操作。具体转义代码如下:
func escapePercent(s string) string {
return strings.ReplaceAll(s, "%", "\\%")
}
....
taskIdLike := escapePercent(input["TaskIdLike"].(string))
db = db.Where("task_id like ?", "%"+taskIdLike+"%")
....