MySQL补齐函数LPAD和RPAD之SQLite解决方案
创始人
2024-05-04 11:44:49

        工作中经常需要对数据进行清洗,并对个别字段进行格式化处理,像 字符串左右补齐。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

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...