今天遇到了一个问题,数据库中的一个列的字段值xxxx_####_$$$$$这种格式,查询出xxxx有几种,在前端显示出来。
之前没有遇到过这种情况,之前一般都是把整个字段值查询出来,然后在进行分割。于是我在网上狂搜,发现有一个group by substr(列名),发现在查询的时候,也能做字符串的分割。于是找到思路。
oracle数据库中没有spilt方法,但是有两个方法在一起使用就能做到这个效果,那就是:substr和instr。
substr这个函数即使不使用数据库,其他语言如:js,java都有截取字符串的语言,用法类似。substr("目标字符",开始位置,结束位置),返回就是目标字符串从开始位置到结束位置的长度。
instr这个函数查询一个函数中是否有某个字符串,若是有的话,返回这个字符串的位置,是个整数。若是多余两个,则返回第一个出现的位置。用法:instr("字符串",“目标字符”)
于是可以这样写
SELECT substr(xxxx_####_$$$$$,0,instr(xxxx_####_$$$$$,'_')-1) xxxx_####_$$$$$ FROM tableName GROUP BY substr(xxxx_####_$$$$$,0,instr(xxxx_####_$$$$$,'_')-1)
分享到:
相关推荐
`regexp_split_to_table` 函数可以按照正则表达式来分割字符串。 ```sql SELECT regexp_split_to_table(col, ',') FROM (VALUES ('a2,a1')) t(col); ``` ### 密码哈希函数 #### 1. MD5 哈希:`md5` `md5` 函数可以...
这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,我们可以高效地完成这项任务。 在Oracle SQL中,有多个内置函数可以帮助我们...
在SQL中,字符串处理通常涉及到一系列内置函数,这些函数可以用来执行字符串连接、分割、替换等操作。对于本文讨论的主题——截取字符串中间的部分,我们将主要关注以下几个函数: 1. **`LEFT`**: 返回指定表达式的...
- `GROUP_CONCAT(expr)`:将一组值连接成一个字符串列表。 - `INSTR(str, substr)`:返回子串 substr 在 str 中第一次出现的位置。 - `INSERT(str, pos, len, newstr)`:将字符串 str 中从位置 pos 开始的 len 个...
在进行相关性检索时,传统的做法是使用LIKE语句,但这种方法效率低下,因为它涉及到多次查询和字符串处理。例如,要找出所有与记录1有相同标签的其他记录,初学者可能会使用LIKE来匹配包含特定标签ID的记录,如下所...
- 字符串型数据类型包括定长和变长字符串,例如CHAR和VARCHAR,还支持文本类型如TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。枚举和集合类型如ENUM和SET也被支持。 - 日期和时间型数据类型包括DATETIME、TIMESTAMP、DATE...
##### 5.3 SUBSTRING(字段,从第几位开始,取几个字符) - `SUBSTRING`函数用于提取字符串的一部分。 - 示例: ```sql SELECT SUBSTRING(ProductName, 1, 3) FROM ProductInfo; ``` ##### 5.4 MAX(字段) MIN(字段...
MySQL的慢查询通常指的是执行时间超过预设阈值(如2秒)的SQL语句,这类查询会显著影响数据库性能。解决慢查询问题通常涉及以下几个步骤: 1. **开启慢查询日志**:首先,我们需要在MySQL配置文件`my.ini`中添加...
74 <br>0107 如何获得字符串中数字或字母的长度 74 <br>0108 如何获得字符串中某个数字的位置 75 <br>0109 获得字符串中汉字的个数 76 <br>0110 获得字符串中指定后几位字符 76 <br>0111 ...
0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个...
0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个...
在Oracle中使用时,如果要匹配字符串中的连续数字,可以使用\d连写来表示多位数字,例如\d{11}用于匹配11位数字。需要注意的是,正则表达式中有些特殊字符(如点号.)有特定含义,如果要在表达式中匹配这些特殊字符...
开发者可能使用循环来遍历NMEA字符串,使用字符串函数(如strtok、sscanf等)分割和解析字段,以及使用位运算(如左移、右移、按位与、按位或)来解码十六进制数据。此外,为了提高效率,可能会设计优化的数据结构来...
此外,awk 还支持算术运算、字符串操作和函数调用,如 `length()` 函数用于计算字符串长度,`split()` 函数用于分割字符串。 总的来说,awk 是一个功能强大的文本处理工具,尤其适用于处理结构化的文本数据。对于...
- 字符串(String) - 对象(Object) - 数组(Array) - 二进制数据(Binary data) - undefined(已弃用) - ObjectId - 布尔值(Boolean) - 日期(Date) - null - 正则表达式(Regular Expression) ...
7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 ...