`

DB2中locate用法

    博客分类:
  • java
 
阅读更多
package com.unisure.hrss.ldjc.test;
public class Main {

    /**
     * 检查字符串是否包含某个字符串
     */
    public void checkStringContains() {

        String needle1 = "6;,9;,10;;";
        String needle2 = "7";
        String haystack = ";";

        int index1 = needle1.indexOf(haystack);
        int index2 = needle2.indexOf(haystack);

        //getSql(needle1, haystack, index1);
        System.out.println(getSql(needle1, haystack, "ldsq"));
        System.out.println(getSql(needle2, haystack, "ygsq"));
    }
       

    /**
* @param needle 待输入的字符串
* @param mode 待分隔的字符串
* @param index1 待验证的index
* @param colName 待比较的字段名称
* @return
*/
private String getSql(String needle, String mode, String colName) {
StringBuffer sql = new StringBuffer();
int index = needle.indexOf(mode);
if (index != -1){
            String[] arry = needle.split(",");
            for (int i=0;i<arry.length;i++) {
            if(i==0){
            sql.append(" and (locate('").append(arry[i]);
            }else if(i!=0){
            sql.append(" or locate('").append(arry[i]);
            }
           
sql.append("',").append(colName).append(")>0");
}
           
   if(arry.length>0) sql.append(") ");
       return sql.toString();
} else{
      sql.append(" and ").append(colName).append(" like '%").append(needle).append(";%'");
     }
   return sql.toString();
}

    /**
     * Starts the program
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().checkStringContains();
    }
}
分享到:
评论

相关推荐

    db2使用技巧

    在 DB2 中,可以使用 "||" 进行字符串连接,这是一种非常方便的字符串操作方式。 二、快速删除大批量数据 在删除大量数据时,使用 delete 语句可能会非常慢,因为删除数据时需要记录数据库日志。为了提高删除速度...

    DB2常用函数与Oracle比较

    - **Decimal/Double/Integer/Smallint/Real**: 这些数据类型在DB2和Oracle中都可以直接使用,无需特别的转换函数。 - **Hex**: DB2提供`HEX`函数来将二进制数据转换为十六进制格式。 - **Date/Time/Timestamp**: ...

    DB2 SQL 数据库函数

    本文将详细介绍DB2 SQL数据库中的常用函数及其使用方法。 #### 二、数学函数 1. **ABS(exp)**: 返回表达式`exp`的绝对值。 - 示例:`ABS(-10)` 返回 `10`。 2. **ABSVAL(exp)**: 功能与ABS相同,返回表达式的...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    根据提供的文件信息,本文将对SQL Server、Oracle与DB2三种主流关系型数据库管理系统中的SQL语句进行详细的对比分析。这不仅有助于理解不同数据库系统之间的差异,也为开发人员提供了跨平台迁移时所需的必要知识。 ...

    DB2函数详解

    38. **LOCATE**: 在字符串中定位子串的位置。 以上列出的DB2函数提供了丰富的功能,可以帮助用户执行各种数据处理任务,无论是简单的数值操作还是复杂的统计分析。熟练掌握这些函数能够极大地提高SQL查询的效率和...

    DB2函数大全

    DB2 是一款强大的关系型数据库管理系统,其内置的函数库为数据处理提供了丰富的功能。本文主要探讨了DB2中的一些常用字符串处理函数,包括它们的语法、...掌握这些函数的用法对于DB2数据库的日常维护和开发至关重要。

    oralce和db2兼容开发注意事项

    Oracle中的LIKE操作符在处理字符串匹配时非常常见,但在DB2中,使用LOCATE函数更为合适。在Oracle中,`LIKE`可以结合通配符进行模式匹配,例如`LIKE '%value%'`。但在DB2中,要实现相同功能,可以使用`LOCATE('...

    DB2编程序技巧 (三)

    在DB2中,可以通过`LOCATE`函数来查找一个字符或子字符串在另一个字符串中的位置。例如: ```sql SELECT LOCATE('y', 'dfdasfay'); ``` 这将会返回数字`7`,表示字符`y`在字符串`dfdasfay`中的位置。 #### 五、...

    SHELL抽取C程序中SQL

    在C++代码部分,可以看到一个名为`proc`的类,该类继承自`Db2Tools`,并且有一个`busiLogic`方法,其中使用了嵌入式SQL(EXEC SQL)来声明变量和定义SQL语句。这里虽然没有展示具体的SQL语句,但可以看出,`...

    nc技术文档

    介绍了Oracle Data Pump工具的使用方法,该工具提供了一种高效的数据迁移手段。 **Oracle11g deferred_segment_creation参数** 解析了Oracle11g中关于segment创建策略的一个重要参数,并解释了其作用。 **NC用户...

Global site tag (gtag.js) - Google Analytics