1

你能告诉我为什么这会在 Redshift 中引发错误吗?

WITH Testing_PADDING AS (SELECT '12345678' AS column1)
SELECT LPAD(column1, 9,'0') FROM Testing_PADDING;

这是我收到的错误:

"无效操作:找不到从"未知"到文本的转换函数;"

4

2 回答 2

1

Redshift 无法从上下文中判断数据类型,所以需要显式设置

WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT
    LPAD(column1, 9, '0')
FROM Testing_PADDING;
于 2021-05-13T03:34:09.883 回答
0

我怀疑您的一个字符串没有被视为文本 - 可能是 column1 文本。(抱歉没有集群不测试)

尝试:

WITH Testing_PADDING AS (SELECT '12345678'::text AS column1)
SELECT LPAD(column1, 9,'0'::text) FROM Testing_PADDING;
于 2021-05-13T03:36:00.533 回答