`

查询数据库字段值前几位,分割字符串

阅读更多
    今天遇到了一个问题,数据库中的一个列的字段值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)
分享到:
评论

相关推荐

    数据库设计命名规范.docx

    当字段定义为字符串形时建议使用varchar而不用nvarchar。注:在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节 建议在大 数表中含有...

    数据库表设计命名规范.doc

    对于字符串类字段,一般约定如下: 1) 字段的数据量在4000英文字符以内的(一个汉字两个英文字符),字段数据类型 采用VARCHAR2(XX),字段长度根据实际情况设置; 2) 字段的数据量在4000英文字符以上的,字段数据...

    C#编程经验技巧宝典

    74 <br>0107 如何获得字符串中数字或字母的长度 74 <br>0108 如何获得字符串中某个数字的位置 75 <br>0109 获得字符串中汉字的个数 76 <br>0110 获得字符串中指定后几位字符 76 <br>0111 ...

    delphi 开发经验技巧宝典源码

    0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个...

    delphi 开发经验技巧宝典源码06

    0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个...

    1345个易语言模块

    24位转单色位图模块.ec 32张发牌.ec 3D引擎支持库-eOgre.ec 69msn.ec ACCESS 到高级表格.ec Access操作.ec Access数据库压缩修复新建.ec ACCSEE记录显示到超级列表框模块.ec ACSII 加解密模块2.0.ec AD.ec ADO方式...

    php网络开发完全手册

    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 多维数组简介 ...

    PHP3程序设计

    3.4.7 字符串连接操作符 38 3.4.8 逻辑操作符 38 3.4.9 赋值操作符 40 3.5 总结 41 第4章 程序控制 43 4.1 表达式 43 4.1.1 简单表达式 43 4.1.2 有副作用的简单表达式 43 4.1.3 复杂表达式 44 4.2 语句 44 4.3 函数...

    jsp编程技巧集锦

    使用特定字符串对一个字符串进行分割? 110.格式化输出数字和字符? 111.生成一定范围的随机数? 112.调用其它应用程序? 113.禁止列出站点文件目录? 114.防止用户直接输入文件名访问JSP? 115.防止...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一个OleDbDataReader,来读取数据,用的是ExecuteReader(),objDataReader.Read()就开始读取了,在输出...

    易语言540个易模块

    获取字符串尺寸 行数 I IC卡读写模块 1.0 IP地址编辑框2.0 J 记录集读写操作 加解密文本1.1 加密 加密解密文本1.0 加密配置文件操作模块 加强执行1.0 加载进度条 加载进度条v2.0 结束进程模块 进程模块 ...

Global site tag (gtag.js) - Google Analytics