当前位置: 首页 > 面试题库 >

在PostgreSQL中向左填充零

彭宏阔
2023-03-14
问题内容

我对PostgreSQL相对较新,并且我知道如何在SQL Server中用左数零填充数字,但是我在PostgreSQL中努力解决这个问题。

我有一个数字列,其中最大位数为3,最小位数为1:如果是一位,它的左边有两个零,如果是两位,则有1,例如001、058、123。

在SQL Server中,我可以使用以下命令:

RIGHT('000' + cast([Column1] as varchar(3)), 3) as [Column2]

在PostgreSQL中不存在。任何帮助,将不胜感激。


问题答案:

您可以使用rpadlpad功能分别在右侧或左侧填充数字。请注意,这不适用于数字,因此您必须使用::char::text将其强制转换为数字:

SELECT RPAD(numcol::text, 3, '0'), -- Zero-pads to the right up to the length of 3
       LPAD(numcol::text, 3, '0'), -- Zero-pads to the left up to the length of 3
FROM   my_table


 类似资料:
  • 问题内容: 但是我没有得到如何用零填充字符串。 输入:“ 129018”输出:“ 0000129018” 总输出长度应为TEN。 问题答案: 如果你的字符串仅包含数字,则可以将其设为整数,然后进行填充:

  • 本文向大家介绍oracle中左填充(lpad)和右填充(rpad)的介绍与用法,包括了oracle中左填充(lpad)和右填充(rpad)的介绍与用法的使用技巧和注意事项,需要的朋友参考一下 前言 在实际应用中经常会用到固定字段的长度,但往往有些数据不能达到规定的长度,这是就需要我们用其他的字符来填充, 在Oracle中有函数解决这一问题,下面话不多说了,来一起看看详细的介绍吧。 语法 LPAD(

  • 问题内容: 在Java中转换为a时,如何在左边用零填充pad ? 我基本上是希望将整数补足到前导零(例如)。 问题答案: 像这样使用: 用于长度为5的零填充。对于十六进制输出,用中的 替换。 完整格式选项作为的一部分进行了说明。

  • 本文向大家介绍如何在MySQL中更新多行和左填充值?,包括了如何在MySQL中更新多行和左填充值?的使用技巧和注意事项,需要的朋友参考一下 使用LPAD()函数左键填充值。让我们首先创建一个表- 以下是更新多行和左填充值的查询- 让我们再次检查表记录- 输出结果 这将产生以下输出-

  • 我正在查看。NET(C#)中Spark的窗口函数。 我有一个DataFrame,其中列有年、月、日、小时、分钟、ID、类型和值: 我希望根据年、月、日、小时、分钟,用上一行的值填充空行(空行),如下所示: 如何在.NET中为Spark定义窗口,并使用Lag函数向前填充空值?

  • 我有一个名为<code>cars_denorm</code>的非规范化表,它包含以下列: 在规范化这些数据的最后,我为、color列创建了单独的表——这三个表由 我正在尝试填充一表,该表是列 并且引用来自< code>make 、< code>model和< code>color表的id。基本上,我希望遍历< code>cars_denorm表中的每一行,并为每一行查询< code>make 、<