Oracle学习笔记:lpad和rpad函数

一、lpad函数:从左至右填充

使用格式:

select lpad(string, padded_length, [pad_string])
-- 被填充的字符
-- 填充之后字符长度
-- 填充字符串 缺省值为空格

注意:如果填充之后的长度比原字符串的长度短,lpad函数将会把字符串截取成从左到右的n个字符。

-- 实例 --
select lpad('I love you!', 20, '0') from dual;
-- 000000000I love you!

二、rpad函数:从右至左填充

使用格式:

select rpad(string, padded_length, [pad_string])
-- 同上
-- 实例 --
select rpad('I love you!', 20, '0') from dual;
-- I love you!000000000

三、一些其他应用

在 oracle 中,rownum 函数可以返回当前行值。

select '2020-' || lpad(rownum, 2, '0') as col from temp_cwh_city;
-- 一个21行数据的表
/*
2020-01
2020-02
2020-03
2020-04
2020-05
2020-06
2020-07
2020-08
2020-09
2020-10
2020-11
2020-12
2020-13
2020-14
2020-15
2020-16
2020-17
2020-18
2020-19
2020-20
2020-21
*/

智能点,优化下。

-- 采用 connect by
select '2020-' || lpad(rownum, 2, '0') as col from dual connect by level <= 12;
/*
2020-01
2020-02
2020-03
2020-04
2020-05
2020-06
2020-07
2020-08
2020-09
2020-10
2020-11
2020-12
*/ 
posted @   Hider1214  阅读(746)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示