【问题标题】:LPAD function errors when used in WITH variable in Redshift在 Redshift 中的 WITH 变量中使用 LPAD 函数错误
【发布时间】:2021-05-13 01:00:51
【问题描述】:

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

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

这是我收到的错误:

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

【问题讨论】:

    标签: amazon-redshift lpad


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      试试:

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

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 2022-08-23
        • 2016-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-16
        • 1970-01-01
        相关资源
        最近更新 更多