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
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