MySQL补齐函数LPAD和RPAD之SQLite解决方案

news/2024/11/20 21:36:59/

        工作中经常需要对数据进行清洗,并对个别字段进行格式化处理,像 字符串左右补齐。MySQL数据库自带有LPAD()、RPAD(),而SQLite数据库没有的相应函数,需要自己转换。

目录

1、MySQL数据库

1.1、MySQL左右补全函数

1.2、实践验证

2、SQLite数据库

2.1、SQLite左/右补全处理

2.2、实践验证

3、数据库开发客户端IDE

3.1、DBeaver下载与安装

3.2、HeidiSQL下载与安装


运行环境:

  • Windows-10-专业版-21H2
  • DBeaver Community-22.3.1.202212251901​​​​​​​
  • HeidiSQL-12.3-x64
  • MySQL-5.7.36
  • SQLite-3.40.0

1、MySQL数据库

        工作中经常需要对数据进行清洗,并对个别字段进行格式化处理。像 字符串左右补齐,默认MySQL中的补全函数 LPAD()、RPAD() 可以满足需求。

1.1、MySQL左右补全函数

  • 左补全函数LPAD(字符串, 长度, 补齐字符)
  • 右补全函数RPAD(字符串, 长度, 补齐字符)

举例:输出长度为 6 位的字符串,当长度不满足6位时,在其 左边右边 补齐相应个数的 0

SELECT -- 长度6,不足 左补 0 LPAD('数字1', 6, '0'),LPAD('数字12', 6, '0'),LPAD('数字123', 6, '0'),-- 长度6,不足 右补 0 RPAD('数字1', 6, '0'),RPAD('数字12', 6, '0'),RPAD('数字123', 6, '0')
;

1.2、实践验证

2、SQLite数据库

        像 MySQL 数据库自带的 LPAD()、RPAD() 补全函数,很遗憾在 SQLite 这个轻量级数据库中没有,需要自己写替代方案。

2.1、SQLite左/右补全处理

举例:输出长度为 6 位的字符串,当长度不满足6位时,在其 左边右边 补齐相应个数的 0

SELECT -- 长度6,不足 左补 0 SUBSTR('000000' || '数字1' , -6),SUBSTR('000000' || '数字12'  , -6),SUBSTR('000000' || '数字123' , -6),-- 长度6,不足 右补 0 SUBSTR('数字1' || '000000' , 1, 6),SUBSTR('数字12'  || '000000' , 1, 6),SUBSTR('数字123'  || '000000' , 1, 6)
;

注意:本次测试的 数据库字符集为  UTF-8,每个字符或汉字 占用 1 个位。

2.2、实践验证

3、数据库开发客户端IDE

3.1、DBeaver下载与安装

打开DBeaver官网,下载 Download DBeaver Community  对应版本的安装包。

3.2、HeidiSQL下载与安装

打开HeidiSQL官网,下载 Download HeidiSQL  对应版本的安装包。


附录:

  • sql - How to emulate LPAD/RPAD with SQLite - Stack Overflow


http://www.ppmy.cn/news/8644.html

相关文章

Java工具——MySQL介绍与安装

Java工具——MySQL介绍与安装MySQL数据库介绍1. 简介2. MySQL发展历史MySQL数据库安装1. 下载安装包2. 安装3. 配置环境变量MySQL数据库介绍 1. 简介 MySQL是应用最广泛、普及度最高的开源关系型数据库,MySQL由瑞典MySQL AB公司开发,目前属于Oracle旗下…

【C++】-- 哈希(上万字详细配图配代码从执行一步步讲解)

目录 哈希 常见哈希函数 除留余数法 哈希冲突 哈希冲突解决 闭散列 a、线性探测 插入 查找 删除 线性探测的实现代码 b、二次探测 二次探测的实现 开散列 开散列实现 插入 查找 删除 析构函数 代码汇总 哈希 常见哈希函数 直接定址法 -- (常用)-- 不存在哈…

设计 | 分享5个好用的PPT模板网站

第一PPT 这个老牌的模板网站了,全站都是免费下载,还是不错的 但是素材质量嘛,免费所以不太高。 第一PPT下载https://www.1ppt.com/ 模板狗 这个是最近发现的一个网站,其中内容比较精美。 而且不用开会员也能单独购买&#x…

哈希表题目:同构字符串

文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:同构字符串 出处:205. 同构字符串 难度 3 级 题目描述 要求 给定两个字符串 s\texttt{s}s 和 t\texttt{t}t,判断它们是否是同…

C++类的多种构造函数

目录默认构造函数普通构造函数拷贝构造函数vector存含有指针的自定义类型主义问题转换构造函数移动构造函数举例两个场景下面以Complex 复数类来学习C类中的各种构造函数; #include <iostream> using namespace std;//复数类 class Complex{friend ostream & operat…

【Linux】shell命令以及运行原理和Linux权限的理解

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f40c; 个人主页&#xff1a;蜗牛牛啊 &#x1f525; 系列专栏&#xff1a;&#x1f6b2;Linux &#x1f4d5; 学习格言&#xff1a;博观而约取&#xff0c;厚积而薄发 …

elasticsearch 的基本操作多维度分享

目录 一、索引操作 二、映射操作 三、文档操作 elasticsearch 的基本操作多维度分享此篇正式分享&#xff0c;具体包括索引、映射、文档的相关处理&#xff0c;模拟生成环境&#xff0c;通过DSL语句和java的高级REST形式全方位展示给大家&#xff1b; 一、索引操作 1、创建…

密码技术扫盲,Part 3:认证

个人博客 密码技术扫盲&#xff0c;Part 1&#xff1a;对称加密密码技术扫盲&#xff0c;Part 2&#xff1a;非对称加密&#x1f3af; 密码技术扫盲&#xff0c;Part 3&#xff1a;认证 除了加密&#xff0c;还有一类用法是对信息的认证&#xff0c;主要包括 4 个技术 单向散…