在Snowflake中使用to_varchar带前导零将数字转换为varchar



在Snowflake中,有一个数字列存储像8,123,456这样的值。我正在努力确定如何结构选择语句返回一个值:00008123456。

在SQL SERVER中,你可以这样做:
right(replicate('0', 11) + convert(varchar(11), job_no), 11) AS job_no

我理解Snowflake to_varchar函数可以使用,但不确定如何结构像SQL Server。

在to_varchar()上添加一个格式字符串:

select to_varchar(8123456, '00000000000');

试试:

SELECT LPAD('12234.50', 19, '0');
/* RETURNS 19 Positions including the decimal point. */
-- 0000000000012234.50

更多示例&细节:https://docs.snowflake.com/en/sql-reference/functions/lpad.html示例

Greg Pavlik提供的解决方案救了我。我刚从DB2切换到Snowflake。

所以,TO_VARCHAR( <numeric_expr> [, '<format>' ] )起作用了。

最新更新