Snowflake 中的 Digits 函数等价于什么?

What is the equivalent of the function Digits in Snowflake?

Snowflake 中 Digits 函数的等价物是什么? 感谢您的帮助。

谢谢

如果这是 digits() 来自 DB2

The DIGITS function returns a character string representation of the absolute value of a number.

然后是这样的:

REPLACE(ABS(<yourcol>), '.', '')

或:

ARRAY_TO_STRING(SPLIT(ABS(<yourcol>), '.'),'')

如果您还想要左侧填充的零,则无法直接在 SQL 中确定雪花中小数的精度,因此您必须具体说明输出的大小字符串应该是。

LPAD(REPLACE(ABS(<yourcol>), '.', ''), 10, '0')

请试试这个:

SELECT TRY_TO_NUMBER('abcd');--NULL
SELECT TRY_TO_NUMBER('700000001020577');--700000001020577
SELECT TRY_TO_NUMBER('1234.56');--1234
SELECT TRY_TO_NUMBER('0.56');--0
SELECT TRY_TO_NUMBER('a12#$');--NULL

SELECT IFF(TRY_TO_NUMBER('1234') IS NULL,FALSE,TRUE) --TRUE
SELECT IFF(TRY_TO_NUMBER('abcd') IS NULL,FALSE,TRUE)--FALSE