字符串转换成数据库in语句的形式(五)

简介: 字符串转换成数据库in语句的形式(五)

一. 转换成in


在数据库操作的时候,参数通常不仅仅是普通的值,还有一种 in 的形式。 如查询员工编号是 1,3,6,7 的人。 可以写成 user_id in (‘1’,‘3’,‘6’,‘7’) 这样的形式。 而传入的参数值 一般是 1,3,6,7 。 需要进行相应的转换。 即 1,3,6,7 与 (‘1’,‘3’,‘6’,‘7’) 之间的转换。


二. 替换方法replaceAll()


仔细观察,可以发现 (‘1’,‘3’,‘6’,‘7’) ,可以看成 (’ ,1’,‘3’,‘6’,‘7 ,与’) 的形式。 也就是将, 替换成了’,’ 的形式。


可以利用方法:


 protected String toInParam(String str){
    //如果为空时,进行处理一下。
        if(str==null||"".equals(str)){
          return "('')";
        }
        // 前引号          替换成后引号+','+前引号的形式         后引号
        return "('"+str.replaceAll(",", "','")+"')";
    }


三.数组转换成in 参数


有的时候,传入的不是字符串,而是一个数组。 需要先将数组转换成字符串,用,进行分隔。 然后再利用上面的toInParam() 方法进行处理即可。


public String toString(int []arr){
    StringBuilder sb=new StringBuilder();
    for(int i=0;i<arr.length;i++){
      if(i==arr.length-1){
        sb.append(arr[i]);
      }else{
        sb.append(arr[i]+",");
      }
    }
    return sb.toString();
  }


四. 程序代码


  @Test
  public void testB(){
    System.out.println("in形式为:"+toInParam("1,2,3,4,5"));
  }
  protected String toInParam(String str){
        if(str==null||"".equals(str)){
          return "('')";
        }
        return "('"+str.replaceAll(",", "','")+"')";
    }


谢谢!!!


相关文章
|
6月前
|
关系型数据库 MySQL 数据库
MySQL数据库-截取字符串
MySQL数据库-截取字符串
61 0
|
6月前
|
关系型数据库 MySQL 数据库
MySQL数据库-字符串位数不够前面补0
MySQL数据库-字符串位数不够前面补0
124 0
|
30天前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
41 15
|
2天前
|
SQL 数据库 开发者
达梦数据库 【-6111: 字符串转换出错】问题处理
在更新数据库某个值属性时,遇到了“字符串转换出错”的错误。经过分析,发现是由于 `id` 字段实际上是字符串类型而非数值类型导致的。最终通过将 `id` 的值改为字符串类型解决了问题。此问题提醒我们在处理数据库时要仔细检查表结构,不要凭经验臆断字段类型。
|
3月前
|
开发框架 .NET 关系型数据库
【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效 
【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效 
|
5月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL数据库的字符串拼接语法使用说明
【6月更文挑战第11天】PostgreSQL数据库的字符串拼接语法使用说明
542 1
|
6月前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
5月前
|
存储 传感器 时序数据库
时序数据库influx有字符串拼接函数吗
【6月更文挑战第25天】时序数据库influx有字符串拼接函数吗
92 0
|
6月前
|
前端开发 Java API
Java【代码分享 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现
Java【代码分享 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现
50 0
|
安全 数据库连接 数据库
sscms迁移服务器,修改数据库连接字符串
sscms迁移服务器,修改数据库连接字符串,siteserver
276 0
sscms迁移服务器,修改数据库连接字符串
下一篇
无影云桌面