在 Redshift 的 WITH 变量中使用时 LPAD 函数错误
LPAD function errors when used in WITH variable in Redshift
你能告诉我为什么这会在 Redshift 中引发错误吗?
WITH Testing_PADDING AS (SELECT '12345678' AS column1)
SELECT LPAD(column1, 9,'0') FROM Testing_PADDING;
这是我收到的错误:
“无效操作:未能找到从“未知”到文本的转换函数;”
Redshift 无法根据上下文确定数据类型,因此您需要明确设置它
WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT
LPAD(column1, 9, '0')
FROM Testing_PADDING;
我怀疑您的其中一个字符串未被视为文本 - 可能是 column1 文本。 (抱歉没有集群不测试)
尝试:
WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT LPAD(column1, 9,'0'::text) FROM Testing_PADDING;
你能告诉我为什么这会在 Redshift 中引发错误吗?
WITH Testing_PADDING AS (SELECT '12345678' AS column1)
SELECT LPAD(column1, 9,'0') FROM Testing_PADDING;
这是我收到的错误:
“无效操作:未能找到从“未知”到文本的转换函数;”
Redshift 无法根据上下文确定数据类型,因此您需要明确设置它
WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT
LPAD(column1, 9, '0')
FROM Testing_PADDING;
我怀疑您的其中一个字符串未被视为文本 - 可能是 column1 文本。 (抱歉没有集群不测试)
尝试:
WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT LPAD(column1, 9,'0'::text) FROM Testing_PADDING;