//原文链接:https://www.jianshu.com/p/a0569157c418
golang mysql拼接子查询 使用fmt.Sprintf拼接SQL
实例代码 func Select(ids []string) string {
idStr := strings.Join(ids, "','")
sqlText := "select id, name, age, created_at, updated_at from car where id in ('%s') limit %d"
sqlText = fmt.Sprintf(sqlText, idStr, 20)
return sqlText
} func main() {
sql := Select([]string{"1", "2", "3"})
fmt.Println(sql)
} //select id, name, age, created_at, updated_at from car where id ('1','2','3') limit 20
另一种写法,占位符实现
import (
"strings"
"database/sql"
) func Select(db *sql.DB, ids []int) (err error) {
//生成占位符?
sqlText := "select * from car where id in ("+ strings.TrimRight(strings.Repeat("?,", len(ids)), ",")+")"
var args []interface{}
for _, v := range ids {
args = append(args, v)
}
row, err := db.Query(sqlText, args...)
if err != nil {
return
}
defer row.Close()
return
}

go 拼接sql的更多相关文章

  1. 拼接sql是陷阱

    项目临时新增一个功能,此时我们习惯自己拼接一个sql. 更可怕的是,后期用户要求新增查询条件,甚至有上10个查询条件,这时的拼接更头疼,if append append(" status=@ ...

  2. StringBuilder 拼接sql语句比较快

    StringBuilder 拼接sql语句比较快StringBuilder strBuilder = new StringBuilder();strSql += "insert into t ...

  3. 使用表达式避免拼接SQL语句

    在SQL语句编写过程中,无论在存储过程中还是在程序中,有时为了使语句兼容全部情况与某字段的特殊情况,不得不拼接SQL字串 如下表 商品ID 类别ID 1 1 2 1 3 2 4 3 5 3 如果我们要 ...

  4. 动态拼接 sql的时候 里面 如果有变量的话 按上面的方式进行处理

    set @Sql_Sql = N' select top 1 @m_zw=zw,@m_zh=temp from ket where zd=''ddd'' ' print @Sql_Sql EXEC s ...

  5. ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView

    ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...

  6. 多条件搜索拼接Sql语句

    1. 如下实例:     1.1 如下图所示:[通过用户输入的数据拼接Sql搜索语句]                  1.2         private void button2_Click( ...

  7. 查询拼接SQL语句,多条件模糊查询

    多条件查询,使用StringBuilder拼接SQL语句,效果如下: 当点击按钮时代码如下: private void button1_Click(object sender, EventArgs e ...

  8. 通过拼接SQL字符串实现多条件查询

    一.通过拼接SQL字符串的方法的好处是: 1.方便查询条件的扩展. 2.简化业务逻辑的判断. 二.例子: 1.界面设计 2.点击查询的代码 /// <summary> /// 按条件查询 ...

  9. C#的自动拼接Sql语句Insert方法及思路

    思路: 1.想想插入语句,大概是这样的一个框架:INSERT INTO 表名 (数据库列名) values (值) 2.这里要3个变量是不固定的,分别是:表名.数据库列名.值: a.表名我们这里很容易 ...

  10. oracle导出表的建表语句拼接SQL

    前段时间有个需求需要导出数据库的500张表结构,使用PLSQLDEV工具也可以导出建表语句,但是需要手动一个表一个表选,非常费劲.就写了个拼接sql. select 'select dbms_meta ...

随机推荐

  1. 使用Xshell链接阿里云服务

    1.下载Xshell,进入xshell官网 https://xshell.en.softonic.com/,选择免费版本进行下载,在该页面https://www.netsarang.com/zh/fr ...

  2. Linux系统下关闭与启动Oracle11g的顺序与命令

    关闭: 1.关EM:[oracle@localhost ~] emctl stop dbconsole 2.关监听:[oracle@localhost ~] lsnrctl stop 3.关数据库:S ...

  3. Nginx之进程间的通信机制(Nginx频道)

    1. Nginx 频道 ngx_channel_t 频道是 Nginx master 进程与 worker 进程之间通信的常用工具,它是使用本机套接字实现的,即 socketpair 方法,它用于创建 ...

  4. 黑马vue---16、vue中通过属性绑定为元素设置class类样式

    黑马vue---16.vue中通过属性绑定为元素设置class类样式 一.总结 一句话总结: 这里就是为元素绑定class样式,和后面的style样式区别一下 vue中class样式绑定方式的相对于原 ...

  5. VIM | vim操作大全

    1. 关于Vim vim是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtutor是个聪明的决定. ...

  6. js获取后台传给前台的值

    1.后台传给前台的方法 String rulemodeid=req.getParameter("rulemodeid"); req.setAttribute("rulem ...

  7. DPDK 网络加速在 NFV 中的应用

    目录 文章目录 目录 前文列表 传统内核协议栈的数据转发性能瓶颈是什么? DPDK DPDK 基本技术 DPDK 架构 DPDK 核心组件 应用 NUMA 亲和性技术减少跨 NUMA 内存访问 应用 ...

  8. 转 CentOS 7 环境下安装Maven

    下载安装文件 wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3 ...

  9. switch语句 initialization of 'XXX' is skipped by 'case' label 原因及解决办法--块语句的作用

    出错代码段: switch (t) { case 0:  int a = 0;  break; default:  break; }编译时提示:“error C2361: initialization ...

  10. CentOS7.5下,MySQL安装配置指南

    [root@host---- home]# grep 'temporary password' /var/log/mysqld.log --20T02::.457613Z [Note] A tempo ...