golang gin
数据库过滤语法
func (s APIGetAlarmListsInputs) collectFilters() string {
tmp := []string{}
if s.StartTime != 0 {
tmp = append(tmp, fmt.Sprintf("timestamp >= FROM_UNIXTIME(%v)", s.StartTime))
}
if s.EndTime != 0 {
tmp = append(tmp, fmt.Sprintf("timestamp <= FROM_UNIXTIME(%v)", s.EndTime))
}
if s.Priority != -1 {
tmp = append(tmp, fmt.Sprintf("priority = %d", s.Priority))
}
if s.Status != "" {
status := ""
statusTmp := strings.Split(s.Status, ",")
for indx, n := range statusTmp {
if indx == 0 {
status = fmt.Sprintf(" status = '%s' ", n)
} else {
status = fmt.Sprintf(" %s OR status = '%s' ", status, n)
}
}
status = fmt.Sprintf("( %s )", status)
tmp = append(tmp, status)
}
if s.ProcessStatus != "" {
pstatus := ""
pstatusTmp := strings.Split(s.ProcessStatus, ",")
for indx, n := range pstatusTmp {
if indx == 0 {
pstatus = fmt.Sprintf(" process_status = '%s' ", n)
} else {
pstatus = fmt.Sprintf(" %s OR process_status = '%s' ", pstatus, n)
}
}
pstatus = fmt.Sprintf("( %s )", pstatus)
tmp = append(tmp, pstatus)
}
if s.Metrics != "" {
tmp = append(tmp, fmt.Sprintf("metrics regexp '%s'", s.Metrics))
}
if s.EventId != "" {
tmp = append(tmp, fmt.Sprintf("id = '%s'", s.EventId))
}
if s.Endpoints != "" {
tmp = append(tmp, fmt.Sprintf("endpoint = '%s'", s.Endpoints))
}
if s.StrategyId != 0 {
tmp = append(tmp, fmt.Sprintf("strategy_id = %d", s.StrategyId))
}
if s.TemplateId != 0 {
tmp = append(tmp, fmt.Sprintf("template_id = %d", s.TemplateId))
}
filterStrTmp := strings.Join(tmp, " AND ")
if filterStrTmp != "" {
filterStrTmp = fmt.Sprintf("WHERE %s", filterStrTmp)
}
return filterStrTmp
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
文本上的算法——深入浅出自然语言处理
路彦雄 / 人民邮电出版社 / 2018-3-1 / 69.00元
本书结合作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,帮助读者尽快地掌握自然语言处理所必备的知识和技能。本书主要分两大部分。第一部分是理论篇,包含前3章内容,主要介绍一些基础的数学知识、优化理论知识和一些机器学习的相关知识。第二部分是应用篇,包含第4章到第8章,分别针对计算性能、文本处理的术语......一起来看看 《文本上的算法——深入浅出自然语言处理》 这本书的介绍吧!