在实际的项目中我们经常会需要将数据库中的数据根据特定的字符比如: ‘,’ ‘-’ ‘+’ '*'等符号分割成多列。虽然分割数据工作可以在后端进行处理,但这样不能处理数据库中分成多列,供以后使用。

1.使用regexp_split_to_array 函数
这个函数顾名思义也就是根据匹配将字符串分割成数组
以下是例子,我将date数据如’2019-06-16’匹配’-'分割出2019 06 16三个char

当然这其中 to_char是将selltime列中date数据转换成char数据,之后 as dt(a) 意思是子查询查询结果别名为dt(a) 。(postgresql中子查询必须要有别名,不知道为啥,oracle中就不需要。)
其中dt(a) 应该是表示数组a,对应着前面select中的 a[1] a[2] a[3] (发现不是从0开始的)
这样就实现了分割数据为多列,可是 如何存进去呢
我想了办法就是insert into数据

可以看到结果

是插入新行里了,为此我还把bookid的非空约束给取消了。那么怎么插入以前的行里呢。
我没有查到能够用select数据update数据的方法,但是想到了存储过程中使用游标的方法。
将select的三个数据a[1],a[2],a[3]用游标循环分别存入三个变量中,然后update这个表中的三列数据,我太懒了。就不写了奥,哈哈。

2.split_part函数
这个函数有个缺点就是一次分割你只能选择一块输出,不能像前面一样把分割后的数据存到数组里。

虽然一次只能取一个数据,但是吧如果想多取点,那就多查询就好了

postgresql根据字符分割数据为多列相关推荐

  1. C语言试题四十六之将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

    1. 题目 请编写一个函数function,它的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...

  2. excel导入数据并做字符分割处理

    前言 :数据入库时遇到之前没有处理过的操作.在这里记录. 1.将excel表的数据导入. 流程很简单,直接放图 1.1 导入入口: 1.2 选择excel 路径 1.3 选择并连接DB 1.4 选择目 ...

  3. 【Python4】字符分割识别,车牌识别矫正,移动物检测,Caffe_SSD三字码识别,ckpt文件转pb文件,人脸检测与识别

    文章目录 1.字符分割识别 2.车牌识别矫正 2.1 车牌识别项目安装 2.2 车牌矫正的方法 3.移动物检测 3.1 帧间差分法 3.2 相机捕捉照片 3.3 MindVision品牌的相机 3.4 ...

  4. MATLAB中肤色分割算法_基于MATLAB的车牌字符分割问题

    引言 车牌识别系统是一项比较成熟的技术,并且已经得到了广泛的应用. 图1 车牌识别系统(图片来源于网络) 车牌识别技术主要包含三个方面:车牌定位.字符分割和字符识别三个核心模块.车牌定位是利用车牌的颜 ...

  5. 使用Java对书籍照片进行字符分割

    使用java来处理印刷体汉字图片,并进行分割,最终保存单个汉字图片,便于后续的文字匹配或者识别 处理逻辑 对图片进行二值化,可以将图片分割成多个小图片,依次二值化,效果更好 对字符进行描黑处理,将相邻 ...

  6. opencv实现车牌识别之字符分割

    简介 在前一篇中,我们已经定位出来了在图片中车牌号的位置,并且将车牌号图片复制成了新图片,并显示出来,本章在这些被截取出来的图片上继续处理. 截取出来的新图片如下: 图像灰阶/二值化 首先也是选择将图 ...

  7. java车牌识别字符分割_车牌识别LPR(六)-- 字符分割

    第六篇:字符分割 在知道了车牌字符的规律之后,可以根据车牌的特点对字符进行分割.一般最容易想到的方法就是根据车牌投影.像素统计特征对车牌图像进行字符分割的方法.是一种最常用的.最基本的.最简单的车牌字 ...

  8. opencv 车牌字符分割 ANN网络识别字符

    opencv 车牌字符分割 ANN网络识别字符   原文参考:https://www.cnblogs.com/chenzhefan/p/7629441.html 最近在复习OPENCV的知识,学习ca ...

  9. PostgreSQL SQL 语言:数据定义

    本文档为PostgreSQL 9.6.0文档,本转载已得到原译者彭煜玮授权. 1.表基础 关系型数据库中的一个表非常像纸上的一张表:它由行和列组成.列的数量和顺序是固定的,并且每一列拥有一个名字.行的 ...

最新文章

  1. 微软开源可解释机器学习工具包lnterpretML
  2. 编写代码,移除未排序的链表中的重复节点
  3. 通过圆的颜色并结合霍夫变换检测目标圆的OpenCV代码
  4. 【Spring框架家族】SpringBoot整合第三方
  5. 第三章:ioctl 函数详解
  6. P2522 HAOI2011 Problem b [莫比乌斯反演,数论分块]
  7. 小程序 公众号/h5相互跳转-webview
  8. Scrapy源码阅读分析_1_整体框架和流程介绍
  9. 2015 8月31号 本周计划
  10. oracle数据如何导入hadoop,hadoop hive 与 Oracle 互相导入数据
  11. [转]Hexo博客插入自定义不渲染页面
  12. headfirst设计模式(2)—观察者模式
  13. jQuery基础 - 选择器
  14. Linux随笔15-Ubuntu20.04允许root用户图形界面登录、chrony局域网时间同步服务、ipxe实现系统自动化安装
  15. 2014年计算机基础知识试题及答案,2014年计算机基础知识试题及答案大全—word版...
  16. 防护器件TVS管基础知识
  17. Linux 用户无法使用 crontab 命令
  18. C语言魔王语言解释(没那么复杂)
  19. 【Java集成小米消息推送(海外版)】
  20. android 手机同时使用wifi 和数据流量(3G/4G...)

热门文章

  1. ffmpeg端口被占用
  2. nginx配置laravel
  3. 19. 邮件提醒(发送邮件)
  4. 怎么修改云服务器项目路径,云服务器tomcat的项目路径怎么设置
  5. linux 文件系统 启动,linux kernel文件系统启动部分
  6. rtx3090 pytorch_RTX 3090显卡8K游戏测试演示 《暗黑3》稳定60帧运行
  7. oracle 变量赋值_【赵强老师】Oracle存储过程中的out参数
  8. simplexmlelement类设置编码_超3.6万条!全国通用的医用耗材编码标准来了
  9. python 特性和方法同名_Python语言特性的梳理
  10. c 获取当前时间插入oracle数据库,Oracle如何获取系统当前时间等操作实例,c++获取系统时间...