zoukankan      html  css  js  c++  java
  • Java和SQL取两个字符间的值

    Java

    String str = "abcdefg";
    String result = str.substring(str.indexOf(">")+1, str.lastIndexOf("<"));

    StringUtils.substringBefore(“abcdec”, “c”); 结果是:ab 这里是以第一个”c”为标准。
    StringUtils.substringBeforeLast(“abcdec”, “c”) 结果为:abcde这里是以倒数第一个”c”为标准。

    SQL

    对“*”及以前的字符进行截取

    在sql中可以使用下边函数进行截取特殊字符:    
    substr(str,instr(str,'*',1)+1)

    其中,使用了substr函数和instr函数。
        1、substr(string,start_position,[length])求子字符串,返回字符串

    第一个参数表示要截取的字符串,第二个表示起始位置,第三个表示截取的长度,可省略。

    2、instr(string,subString,position,ocurrence) 查找字符串的位置

    第一个参数表示源字符串,第二个是要查找的字符,第三个是要查找的开始位置,第四个是查找的字符是第几个。

    取一个字段中两个字符之间信息

    1、substring(a.specifications,charindex(':',a.specifications,charindex(';',specifications))+1,1)
    SQL报错
    FUNCTION db.charindex does not exist

    2、使用substring_index语法

    用法规则:
    substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

    具体要截取第N个逗号前部分的字符,在字符串中以逗号为索引,获取不同索引位的字符。
    N可以为负数,表示倒数第N个索引字符后面的字符串。(有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分。)

    具体例子:
    首先假定需要截取的字符串为“192;168;8;203”,这里截取的依据是分号:“;”

    结果如下:

    取第一个逗号前的字符串 :
    SELECT SUBSTRING_INDEX(‘192;168;8;203’,’;’,1);
    ==>得到结果为: 192

    取最后逗号后面的部分:
    SELECT SUBSTRING_INDEX(‘192;168;8,203’,’;’,-1);
    ==>得到结果为: 203

    取第2个逗号前那部分字符串里,最后逗号后面的部分
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8;203’,’;’,2),’;’,-1);
    ==>得到结果为: 168

    取倒数第二个逗号后面部分字符串,再去这部分里第一个都号前的部分:
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8,203’,’;’,-2),’;’,1);
    ==> 得到结果为:8

  • 相关阅读:
    cve-2015-1635 poc
    Python实现ORM
    Android完全退出应用的方法
    Java反射理解
    Android动画
    Android进程间通信IPC
    Java的四种引用方式
    Android底部菜单的实现
    Android中AsyncTask使用
    Android自定义控件
  • 原文地址:https://www.cnblogs.com/chen-chen-chen/p/11767849.html
Copyright © 2011-2022 走看看