Oracle中通过逗号分割字符串并转换成多行
通过逗号对字符串字段进行分割,并返回多行,通过使用regexp_substr()函数实现。
SQL示例:
select regexp_substr(q.nums, '[^,]+', 1, rownum,'i'), names
from (select '1,2,3' nums, '张三' names from dual) q
connect by rownum <= LENGTH(q.nums) - LENGTH(REGEXP_REPLACE(q.nums, ',', '')) + 1;
结果展示:
regexp_substr()函数参数说明
参数1: 待分割字符串
参数2:正则表达式
参数3:起始位置,从第几个字符开始正则表达式匹配(默认为1)
参数4:标识第几个匹配组,默认为1
参数5:模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
Oracle中通过逗号分割字符串并转换成多行的更多相关文章
- Oracle 两个逗号分割的字符串,获取交集、差集的sql实现过程解析
Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为“1,2,3,5”,字段B为“2”.想获取两个字段的交集(相同值)2,获取两个字段的差集(差异值)1,3,5. 一.最终实现的sql语 ...
- Guid和Oracle中16进制字符的转换
我们知道在Oracle中存的guid是16进制字符串,而在我们的C#代码中存的是guid对象,这样我会就要进行转换, 下面给出了两者进行转换的方法: public class Guid2RawProc ...
- 对于Oracle中Number类型的字段映射成Java中的具体类型的问题
我在Oracle中给一个用户Id字段设置为Number类型,使用JDBC在完成ORM的时候,以为其可以自动转换为Integer,因为我的POJO类id使用的就是Integer.但事实是,我在测试的时候 ...
- oracle 两个逗号分割的字符串 如何判断是否其中有相同值
比如字段A: 'ab,cd,ef,gh'字段B: 'aa,bb,cc,dd' 没有相同值 字段A: 'ab,cd,ef,gh'字段B: 'aa,bb,cd,dd' 有相同值cd 1.CREATE OR ...
- ORACLE 中NUMBER 类型 低精度转换成高精度
例如: 表User中有一个字段 salary Number(10,3), 如果想把字段salary的类型提高精度到salary Number(10,6),保留六位小数, 解决办法:1,ALTER ...
- oracle 逗号分割,列转行,行转列
SQL代码 列转行 select REGEXP_SUBSTR(a.rolecode ,,l) rolecode from ( select 'a,aa,aaa' rolecode from dual ...
- Oracle字段根据逗号分割查询数据
需求是表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询. 数据是这样的: 查询的sql如下: select * from ( select gu ...
- Oracle中按规定的字符截取字符串
CREATE OR REPLACE FUNCTION "F_SPLIT" (p_str IN CLOB, p_delimiter IN VARCHAR2) RETURN ty_st ...
- oracle 中数据库完全导入导出:cmd命令行模式(转载)
http://www.3lian.com/edu/2012/12-01/47252.html Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库 ...
随机推荐
- js技术之input只读功能可以通过js设置readonly
一.input标签 输入项标签,不同type属性,会有不同的显示效果和不同的作用 input标签的属性: disabled:表单项禁用,不可修改值,也不会被提交 readonly:表单项只读,不可修改 ...
- js技术之拖动table标签
一.js技术之拖动table标签 起因:前几天公司,突然安排一个任务 任务描述:要求尺码table列表要像Excel表中一样可以直接移动整行尺码到任意行位置 技术点:采用ui的sortable技术来h ...
- C语言之数据类型(知识点8)
一.数据类型 1.数据基本类型 (1)整数 ①有符号整形 有符号短整型 short 有符号基本整形 int 有符号长整形 long ②无符号整形 无符号基本整形 无符号短整型 无符号长整型 (2) ...
- 制作java的docker镜像
Dockerfile如下: FROM ubuntu:16.04 MAINTAINER tanyiqu ADD jdk-8u231-linux-x64.tar.gz /usr/local/ ENV JA ...
- 两个线程交替运行——使用synchronized+wait+notify实现
public class ExecuteThread { private static Object obj = new Object(); private static boolean flag; ...
- 3道常见的vue面试题,你都会了吗?
最近流传各大厂纷纷裁员,导致很多人"被迫"毕业,显然很多人还是想留级,无奈出现在名单中,只能感叹命运不公,不过拿了N+1,也算是很欣慰. 又得去面试了,接下来一起来巩固下vue的3 ...
- C语言结构体指针与结构体变量作形参的区别
区别 结构体变量 结构体变量作为形参,传递的是结构体变量本身,是一种值传递 形参结构体变量成员值的改变不影响对应的实参构体变量成员值的改变 结构体指针 结构体指针作为函数参数,传递的是指向结构体变量的 ...
- Go xmas2020 学习笔记 00-03、Basic Types
00-02-Hello Example. 目录结构. 不一样的Hello World. 巧妙的单元测试. 传入os.Args切片. go mod init. 03-Basic Types. 变量类型与 ...
- css加载动画(纯css和html)
从jq官网上摘抄下来的一个简单加载动画,个人比较喜欢使用~存在这里,作为记录 话不多说~上代码 <!DOCTYPE html> <html lang="en"&g ...
- gin框架使用【5.路由分组】
package mainimport ( "github.com/gin-gonic/gin")func main() { router := gin.Default() v1Ro ...